Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
100.00% |
18 / 18 |
|
100.00% |
7 / 7 |
CRAP | |
100.00% |
1 / 1 |
| Timezone | |
100.00% |
18 / 18 |
|
100.00% |
7 / 7 |
10 | |
100.00% |
1 / 1 |
| toDateTimeZone | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
| getUtcOffset | |
100.00% |
2 / 2 |
|
100.00% |
1 / 1 |
1 | |||
| getUtcOffsetString | |
100.00% |
5 / 5 |
|
100.00% |
1 / 1 |
2 | |||
| label | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
| labelList | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
| toArray | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
| toArrayWithLabels | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
| 1 | <?php |
| 2 | |
| 3 | declare(strict_types=1); |
| 4 | |
| 5 | namespace DevToolbelt\Enums\Locale; |
| 6 | |
| 7 | use DateTimeZone; |
| 8 | use DateTimeImmutable; |
| 9 | use DevToolbelt\Enums\EnumInterface; |
| 10 | |
| 11 | /** |
| 12 | * Enum representing all PHP supported timezones. |
| 13 | * |
| 14 | * This enum provides type-safe timezone configuration for JWT timestamp generation. |
| 15 | * The default timezone is UTC. Includes legacy/alias timezones for backward compatibility. |
| 16 | */ |
| 17 | enum Timezone: string implements EnumInterface |
| 18 | { |
| 19 | case AFRICA_ABIDJAN = "Africa/Abidjan"; |
| 20 | case AFRICA_ACCRA = "Africa/Accra"; |
| 21 | case AFRICA_ADDIS_ABABA = "Africa/Addis_Ababa"; |
| 22 | case AFRICA_ALGIERS = "Africa/Algiers"; |
| 23 | case AFRICA_ASMARA = "Africa/Asmara"; |
| 24 | case AFRICA_ASMERA = "Africa/Asmera"; |
| 25 | case AFRICA_BAMAKO = "Africa/Bamako"; |
| 26 | case AFRICA_BANGUI = "Africa/Bangui"; |
| 27 | case AFRICA_BANJUL = "Africa/Banjul"; |
| 28 | case AFRICA_BISSAU = "Africa/Bissau"; |
| 29 | case AFRICA_BLANTYRE = "Africa/Blantyre"; |
| 30 | case AFRICA_BRAZZAVILLE = "Africa/Brazzaville"; |
| 31 | case AFRICA_BUJUMBURA = "Africa/Bujumbura"; |
| 32 | case AFRICA_CAIRO = "Africa/Cairo"; |
| 33 | case AFRICA_CASABLANCA = "Africa/Casablanca"; |
| 34 | case AFRICA_CEUTA = "Africa/Ceuta"; |
| 35 | case AFRICA_CONAKRY = "Africa/Conakry"; |
| 36 | case AFRICA_DAKAR = "Africa/Dakar"; |
| 37 | case AFRICA_DAR_ES_SALAAM = "Africa/Dar_es_Salaam"; |
| 38 | case AFRICA_DJIBOUTI = "Africa/Djibouti"; |
| 39 | case AFRICA_DOUALA = "Africa/Douala"; |
| 40 | case AFRICA_EL_AAIUN = "Africa/El_Aaiun"; |
| 41 | case AFRICA_FREETOWN = "Africa/Freetown"; |
| 42 | case AFRICA_GABORONE = "Africa/Gaborone"; |
| 43 | case AFRICA_HARARE = "Africa/Harare"; |
| 44 | case AFRICA_JOHANNESBURG = "Africa/Johannesburg"; |
| 45 | case AFRICA_JUBA = "Africa/Juba"; |
| 46 | case AFRICA_KAMPALA = "Africa/Kampala"; |
| 47 | case AFRICA_KHARTOUM = "Africa/Khartoum"; |
| 48 | case AFRICA_KIGALI = "Africa/Kigali"; |
| 49 | case AFRICA_KINSHASA = "Africa/Kinshasa"; |
| 50 | case AFRICA_LAGOS = "Africa/Lagos"; |
| 51 | case AFRICA_LIBREVILLE = "Africa/Libreville"; |
| 52 | case AFRICA_LOME = "Africa/Lome"; |
| 53 | case AFRICA_LUANDA = "Africa/Luanda"; |
| 54 | case AFRICA_LUBUMBASHI = "Africa/Lubumbashi"; |
| 55 | case AFRICA_LUSAKA = "Africa/Lusaka"; |
| 56 | case AFRICA_MALABO = "Africa/Malabo"; |
| 57 | case AFRICA_MAPUTO = "Africa/Maputo"; |
| 58 | case AFRICA_MASERU = "Africa/Maseru"; |
| 59 | case AFRICA_MBABANE = "Africa/Mbabane"; |
| 60 | case AFRICA_MOGADISHU = "Africa/Mogadishu"; |
| 61 | case AFRICA_MONROVIA = "Africa/Monrovia"; |
| 62 | case AFRICA_NAIROBI = "Africa/Nairobi"; |
| 63 | case AFRICA_NDJAMENA = "Africa/Ndjamena"; |
| 64 | case AFRICA_NIAMEY = "Africa/Niamey"; |
| 65 | case AFRICA_NOUAKCHOTT = "Africa/Nouakchott"; |
| 66 | case AFRICA_OUAGADOUGOU = "Africa/Ouagadougou"; |
| 67 | case AFRICA_PORTO_MINUS_NOVO = "Africa/Porto-Novo"; |
| 68 | case AFRICA_SAO_TOME = "Africa/Sao_Tome"; |
| 69 | case AFRICA_TIMBUKTU = "Africa/Timbuktu"; |
| 70 | case AFRICA_TRIPOLI = "Africa/Tripoli"; |
| 71 | case AFRICA_TUNIS = "Africa/Tunis"; |
| 72 | case AFRICA_WINDHOEK = "Africa/Windhoek"; |
| 73 | case AMERICA_ADAK = "America/Adak"; |
| 74 | case AMERICA_ANCHORAGE = "America/Anchorage"; |
| 75 | case AMERICA_ANGUILLA = "America/Anguilla"; |
| 76 | case AMERICA_ANTIGUA = "America/Antigua"; |
| 77 | case AMERICA_ARAGUAINA = "America/Araguaina"; |
| 78 | case AMERICA_ARGENTINA_BUENOS_AIRES = "America/Argentina/Buenos_Aires"; |
| 79 | case AMERICA_ARGENTINA_CATAMARCA = "America/Argentina/Catamarca"; |
| 80 | case AMERICA_ARGENTINA_COMODRIVADAVIA = "America/Argentina/ComodRivadavia"; |
| 81 | case AMERICA_ARGENTINA_CORDOBA = "America/Argentina/Cordoba"; |
| 82 | case AMERICA_ARGENTINA_JUJUY = "America/Argentina/Jujuy"; |
| 83 | case AMERICA_ARGENTINA_LA_RIOJA = "America/Argentina/La_Rioja"; |
| 84 | case AMERICA_ARGENTINA_MENDOZA = "America/Argentina/Mendoza"; |
| 85 | case AMERICA_ARGENTINA_RIO_GALLEGOS = "America/Argentina/Rio_Gallegos"; |
| 86 | case AMERICA_ARGENTINA_SALTA = "America/Argentina/Salta"; |
| 87 | case AMERICA_ARGENTINA_SAN_JUAN = "America/Argentina/San_Juan"; |
| 88 | case AMERICA_ARGENTINA_SAN_LUIS = "America/Argentina/San_Luis"; |
| 89 | case AMERICA_ARGENTINA_TUCUMAN = "America/Argentina/Tucuman"; |
| 90 | case AMERICA_ARGENTINA_USHUAIA = "America/Argentina/Ushuaia"; |
| 91 | case AMERICA_ARUBA = "America/Aruba"; |
| 92 | case AMERICA_ASUNCION = "America/Asuncion"; |
| 93 | case AMERICA_ATIKOKAN = "America/Atikokan"; |
| 94 | case AMERICA_ATKA = "America/Atka"; |
| 95 | case AMERICA_BAHIA = "America/Bahia"; |
| 96 | case AMERICA_BAHIA_BANDERAS = "America/Bahia_Banderas"; |
| 97 | case AMERICA_BARBADOS = "America/Barbados"; |
| 98 | case AMERICA_BELEM = "America/Belem"; |
| 99 | case AMERICA_BELIZE = "America/Belize"; |
| 100 | case AMERICA_BLANC_MINUS_SABLON = "America/Blanc-Sablon"; |
| 101 | case AMERICA_BOA_VISTA = "America/Boa_Vista"; |
| 102 | case AMERICA_BOGOTA = "America/Bogota"; |
| 103 | case AMERICA_BOISE = "America/Boise"; |
| 104 | case AMERICA_BUENOS_AIRES = "America/Buenos_Aires"; |
| 105 | case AMERICA_CAMBRIDGE_BAY = "America/Cambridge_Bay"; |
| 106 | case AMERICA_CAMPO_GRANDE = "America/Campo_Grande"; |
| 107 | case AMERICA_CANCUN = "America/Cancun"; |
| 108 | case AMERICA_CARACAS = "America/Caracas"; |
| 109 | case AMERICA_CATAMARCA = "America/Catamarca"; |
| 110 | case AMERICA_CAYENNE = "America/Cayenne"; |
| 111 | case AMERICA_CAYMAN = "America/Cayman"; |
| 112 | case AMERICA_CHICAGO = "America/Chicago"; |
| 113 | case AMERICA_CHIHUAHUA = "America/Chihuahua"; |
| 114 | case AMERICA_CIUDAD_JUAREZ = "America/Ciudad_Juarez"; |
| 115 | case AMERICA_CORAL_HARBOUR = "America/Coral_Harbour"; |
| 116 | case AMERICA_CORDOBA = "America/Cordoba"; |
| 117 | case AMERICA_COSTA_RICA = "America/Costa_Rica"; |
| 118 | case AMERICA_COYHAIQUE = "America/Coyhaique"; |
| 119 | case AMERICA_CRESTON = "America/Creston"; |
| 120 | case AMERICA_CUIABA = "America/Cuiaba"; |
| 121 | case AMERICA_CURACAO = "America/Curacao"; |
| 122 | case AMERICA_DANMARKSHAVN = "America/Danmarkshavn"; |
| 123 | case AMERICA_DAWSON = "America/Dawson"; |
| 124 | case AMERICA_DAWSON_CREEK = "America/Dawson_Creek"; |
| 125 | case AMERICA_DENVER = "America/Denver"; |
| 126 | case AMERICA_DETROIT = "America/Detroit"; |
| 127 | case AMERICA_DOMINICA = "America/Dominica"; |
| 128 | case AMERICA_EDMONTON = "America/Edmonton"; |
| 129 | case AMERICA_EIRUNEPE = "America/Eirunepe"; |
| 130 | case AMERICA_EL_SALVADOR = "America/El_Salvador"; |
| 131 | case AMERICA_ENSENADA = "America/Ensenada"; |
| 132 | case AMERICA_FORT_NELSON = "America/Fort_Nelson"; |
| 133 | case AMERICA_FORT_WAYNE = "America/Fort_Wayne"; |
| 134 | case AMERICA_FORTALEZA = "America/Fortaleza"; |
| 135 | case AMERICA_GLACE_BAY = "America/Glace_Bay"; |
| 136 | case AMERICA_GODTHAB = "America/Godthab"; |
| 137 | case AMERICA_GOOSE_BAY = "America/Goose_Bay"; |
| 138 | case AMERICA_GRAND_TURK = "America/Grand_Turk"; |
| 139 | case AMERICA_GRENADA = "America/Grenada"; |
| 140 | case AMERICA_GUADELOUPE = "America/Guadeloupe"; |
| 141 | case AMERICA_GUATEMALA = "America/Guatemala"; |
| 142 | case AMERICA_GUAYAQUIL = "America/Guayaquil"; |
| 143 | case AMERICA_GUYANA = "America/Guyana"; |
| 144 | case AMERICA_HALIFAX = "America/Halifax"; |
| 145 | case AMERICA_HAVANA = "America/Havana"; |
| 146 | case AMERICA_HERMOSILLO = "America/Hermosillo"; |
| 147 | case AMERICA_INDIANA_INDIANAPOLIS = "America/Indiana/Indianapolis"; |
| 148 | case AMERICA_INDIANA_KNOX = "America/Indiana/Knox"; |
| 149 | case AMERICA_INDIANA_MARENGO = "America/Indiana/Marengo"; |
| 150 | case AMERICA_INDIANA_PETERSBURG = "America/Indiana/Petersburg"; |
| 151 | case AMERICA_INDIANA_TELL_CITY = "America/Indiana/Tell_City"; |
| 152 | case AMERICA_INDIANA_VEVAY = "America/Indiana/Vevay"; |
| 153 | case AMERICA_INDIANA_VINCENNES = "America/Indiana/Vincennes"; |
| 154 | case AMERICA_INDIANA_WINAMAC = "America/Indiana/Winamac"; |
| 155 | case AMERICA_INDIANAPOLIS = "America/Indianapolis"; |
| 156 | case AMERICA_INUVIK = "America/Inuvik"; |
| 157 | case AMERICA_IQALUIT = "America/Iqaluit"; |
| 158 | case AMERICA_JAMAICA = "America/Jamaica"; |
| 159 | case AMERICA_JUJUY = "America/Jujuy"; |
| 160 | case AMERICA_JUNEAU = "America/Juneau"; |
| 161 | case AMERICA_KENTUCKY_LOUISVILLE = "America/Kentucky/Louisville"; |
| 162 | case AMERICA_KENTUCKY_MONTICELLO = "America/Kentucky/Monticello"; |
| 163 | case AMERICA_KNOX_IN = "America/Knox_IN"; |
| 164 | case AMERICA_KRALENDIJK = "America/Kralendijk"; |
| 165 | case AMERICA_LA_PAZ = "America/La_Paz"; |
| 166 | case AMERICA_LIMA = "America/Lima"; |
| 167 | case AMERICA_LOS_ANGELES = "America/Los_Angeles"; |
| 168 | case AMERICA_LOUISVILLE = "America/Louisville"; |
| 169 | case AMERICA_LOWER_PRINCES = "America/Lower_Princes"; |
| 170 | case AMERICA_MACEIO = "America/Maceio"; |
| 171 | case AMERICA_MANAGUA = "America/Managua"; |
| 172 | case AMERICA_MANAUS = "America/Manaus"; |
| 173 | case AMERICA_MARIGOT = "America/Marigot"; |
| 174 | case AMERICA_MARTINIQUE = "America/Martinique"; |
| 175 | case AMERICA_MATAMOROS = "America/Matamoros"; |
| 176 | case AMERICA_MAZATLAN = "America/Mazatlan"; |
| 177 | case AMERICA_MENDOZA = "America/Mendoza"; |
| 178 | case AMERICA_MENOMINEE = "America/Menominee"; |
| 179 | case AMERICA_MERIDA = "America/Merida"; |
| 180 | case AMERICA_METLAKATLA = "America/Metlakatla"; |
| 181 | case AMERICA_MEXICO_CITY = "America/Mexico_City"; |
| 182 | case AMERICA_MIQUELON = "America/Miquelon"; |
| 183 | case AMERICA_MONCTON = "America/Moncton"; |
| 184 | case AMERICA_MONTERREY = "America/Monterrey"; |
| 185 | case AMERICA_MONTEVIDEO = "America/Montevideo"; |
| 186 | case AMERICA_MONTREAL = "America/Montreal"; |
| 187 | case AMERICA_MONTSERRAT = "America/Montserrat"; |
| 188 | case AMERICA_NASSAU = "America/Nassau"; |
| 189 | case AMERICA_NEW_YORK = "America/New_York"; |
| 190 | case AMERICA_NIPIGON = "America/Nipigon"; |
| 191 | case AMERICA_NOME = "America/Nome"; |
| 192 | case AMERICA_NORONHA = "America/Noronha"; |
| 193 | case AMERICA_NORTH_DAKOTA_BEULAH = "America/North_Dakota/Beulah"; |
| 194 | case AMERICA_NORTH_DAKOTA_CENTER = "America/North_Dakota/Center"; |
| 195 | case AMERICA_NORTH_DAKOTA_NEW_SALEM = "America/North_Dakota/New_Salem"; |
| 196 | case AMERICA_NUUK = "America/Nuuk"; |
| 197 | case AMERICA_OJINAGA = "America/Ojinaga"; |
| 198 | case AMERICA_PANAMA = "America/Panama"; |
| 199 | case AMERICA_PANGNIRTUNG = "America/Pangnirtung"; |
| 200 | case AMERICA_PARAMARIBO = "America/Paramaribo"; |
| 201 | case AMERICA_PHOENIX = "America/Phoenix"; |
| 202 | case AMERICA_PORT_MINUS_AU_MINUS_PRINCE = "America/Port-au-Prince"; |
| 203 | case AMERICA_PORT_OF_SPAIN = "America/Port_of_Spain"; |
| 204 | case AMERICA_PORTO_ACRE = "America/Porto_Acre"; |
| 205 | case AMERICA_PORTO_VELHO = "America/Porto_Velho"; |
| 206 | case AMERICA_PUERTO_RICO = "America/Puerto_Rico"; |
| 207 | case AMERICA_PUNTA_ARENAS = "America/Punta_Arenas"; |
| 208 | case AMERICA_RAINY_RIVER = "America/Rainy_River"; |
| 209 | case AMERICA_RANKIN_INLET = "America/Rankin_Inlet"; |
| 210 | case AMERICA_RECIFE = "America/Recife"; |
| 211 | case AMERICA_REGINA = "America/Regina"; |
| 212 | case AMERICA_RESOLUTE = "America/Resolute"; |
| 213 | case AMERICA_RIO_BRANCO = "America/Rio_Branco"; |
| 214 | case AMERICA_ROSARIO = "America/Rosario"; |
| 215 | case AMERICA_SANTA_ISABEL = "America/Santa_Isabel"; |
| 216 | case AMERICA_SANTAREM = "America/Santarem"; |
| 217 | case AMERICA_SANTIAGO = "America/Santiago"; |
| 218 | case AMERICA_SANTO_DOMINGO = "America/Santo_Domingo"; |
| 219 | case AMERICA_SAO_PAULO = "America/Sao_Paulo"; |
| 220 | case AMERICA_SCORESBYSUND = "America/Scoresbysund"; |
| 221 | case AMERICA_SHIPROCK = "America/Shiprock"; |
| 222 | case AMERICA_SITKA = "America/Sitka"; |
| 223 | case AMERICA_ST_BARTHELEMY = "America/St_Barthelemy"; |
| 224 | case AMERICA_ST_JOHNS = "America/St_Johns"; |
| 225 | case AMERICA_ST_KITTS = "America/St_Kitts"; |
| 226 | case AMERICA_ST_LUCIA = "America/St_Lucia"; |
| 227 | case AMERICA_ST_THOMAS = "America/St_Thomas"; |
| 228 | case AMERICA_ST_VINCENT = "America/St_Vincent"; |
| 229 | case AMERICA_SWIFT_CURRENT = "America/Swift_Current"; |
| 230 | case AMERICA_TEGUCIGALPA = "America/Tegucigalpa"; |
| 231 | case AMERICA_THULE = "America/Thule"; |
| 232 | case AMERICA_THUNDER_BAY = "America/Thunder_Bay"; |
| 233 | case AMERICA_TIJUANA = "America/Tijuana"; |
| 234 | case AMERICA_TORONTO = "America/Toronto"; |
| 235 | case AMERICA_TORTOLA = "America/Tortola"; |
| 236 | case AMERICA_VANCOUVER = "America/Vancouver"; |
| 237 | case AMERICA_VIRGIN = "America/Virgin"; |
| 238 | case AMERICA_WHITEHORSE = "America/Whitehorse"; |
| 239 | case AMERICA_WINNIPEG = "America/Winnipeg"; |
| 240 | case AMERICA_YAKUTAT = "America/Yakutat"; |
| 241 | case AMERICA_YELLOWKNIFE = "America/Yellowknife"; |
| 242 | case ANTARCTICA_CASEY = "Antarctica/Casey"; |
| 243 | case ANTARCTICA_DAVIS = "Antarctica/Davis"; |
| 244 | case ANTARCTICA_DUMONTDURVILLE = "Antarctica/DumontDUrville"; |
| 245 | case ANTARCTICA_MACQUARIE = "Antarctica/Macquarie"; |
| 246 | case ANTARCTICA_MAWSON = "Antarctica/Mawson"; |
| 247 | case ANTARCTICA_MCMURDO = "Antarctica/McMurdo"; |
| 248 | case ANTARCTICA_PALMER = "Antarctica/Palmer"; |
| 249 | case ANTARCTICA_ROTHERA = "Antarctica/Rothera"; |
| 250 | case ANTARCTICA_SOUTH_POLE = "Antarctica/South_Pole"; |
| 251 | case ANTARCTICA_SYOWA = "Antarctica/Syowa"; |
| 252 | case ANTARCTICA_TROLL = "Antarctica/Troll"; |
| 253 | case ANTARCTICA_VOSTOK = "Antarctica/Vostok"; |
| 254 | case ARCTIC_LONGYEARBYEN = "Arctic/Longyearbyen"; |
| 255 | case ASIA_ADEN = "Asia/Aden"; |
| 256 | case ASIA_ALMATY = "Asia/Almaty"; |
| 257 | case ASIA_AMMAN = "Asia/Amman"; |
| 258 | case ASIA_ANADYR = "Asia/Anadyr"; |
| 259 | case ASIA_AQTAU = "Asia/Aqtau"; |
| 260 | case ASIA_AQTOBE = "Asia/Aqtobe"; |
| 261 | case ASIA_ASHGABAT = "Asia/Ashgabat"; |
| 262 | case ASIA_ASHKHABAD = "Asia/Ashkhabad"; |
| 263 | case ASIA_ATYRAU = "Asia/Atyrau"; |
| 264 | case ASIA_BAGHDAD = "Asia/Baghdad"; |
| 265 | case ASIA_BAHRAIN = "Asia/Bahrain"; |
| 266 | case ASIA_BAKU = "Asia/Baku"; |
| 267 | case ASIA_BANGKOK = "Asia/Bangkok"; |
| 268 | case ASIA_BARNAUL = "Asia/Barnaul"; |
| 269 | case ASIA_BEIRUT = "Asia/Beirut"; |
| 270 | case ASIA_BISHKEK = "Asia/Bishkek"; |
| 271 | case ASIA_BRUNEI = "Asia/Brunei"; |
| 272 | case ASIA_CALCUTTA = "Asia/Calcutta"; |
| 273 | case ASIA_CHITA = "Asia/Chita"; |
| 274 | case ASIA_CHOIBALSAN = "Asia/Choibalsan"; |
| 275 | case ASIA_CHONGQING = "Asia/Chongqing"; |
| 276 | case ASIA_CHUNGKING = "Asia/Chungking"; |
| 277 | case ASIA_COLOMBO = "Asia/Colombo"; |
| 278 | case ASIA_DACCA = "Asia/Dacca"; |
| 279 | case ASIA_DAMASCUS = "Asia/Damascus"; |
| 280 | case ASIA_DHAKA = "Asia/Dhaka"; |
| 281 | case ASIA_DILI = "Asia/Dili"; |
| 282 | case ASIA_DUBAI = "Asia/Dubai"; |
| 283 | case ASIA_DUSHANBE = "Asia/Dushanbe"; |
| 284 | case ASIA_FAMAGUSTA = "Asia/Famagusta"; |
| 285 | case ASIA_GAZA = "Asia/Gaza"; |
| 286 | case ASIA_HARBIN = "Asia/Harbin"; |
| 287 | case ASIA_HEBRON = "Asia/Hebron"; |
| 288 | case ASIA_HO_CHI_MINH = "Asia/Ho_Chi_Minh"; |
| 289 | case ASIA_HONG_KONG = "Asia/Hong_Kong"; |
| 290 | case ASIA_HOVD = "Asia/Hovd"; |
| 291 | case ASIA_IRKUTSK = "Asia/Irkutsk"; |
| 292 | case ASIA_ISTANBUL = "Asia/Istanbul"; |
| 293 | case ASIA_JAKARTA = "Asia/Jakarta"; |
| 294 | case ASIA_JAYAPURA = "Asia/Jayapura"; |
| 295 | case ASIA_JERUSALEM = "Asia/Jerusalem"; |
| 296 | case ASIA_KABUL = "Asia/Kabul"; |
| 297 | case ASIA_KAMCHATKA = "Asia/Kamchatka"; |
| 298 | case ASIA_KARACHI = "Asia/Karachi"; |
| 299 | case ASIA_KASHGAR = "Asia/Kashgar"; |
| 300 | case ASIA_KATHMANDU = "Asia/Kathmandu"; |
| 301 | case ASIA_KATMANDU = "Asia/Katmandu"; |
| 302 | case ASIA_KHANDYGA = "Asia/Khandyga"; |
| 303 | case ASIA_KOLKATA = "Asia/Kolkata"; |
| 304 | case ASIA_KRASNOYARSK = "Asia/Krasnoyarsk"; |
| 305 | case ASIA_KUALA_LUMPUR = "Asia/Kuala_Lumpur"; |
| 306 | case ASIA_KUCHING = "Asia/Kuching"; |
| 307 | case ASIA_KUWAIT = "Asia/Kuwait"; |
| 308 | case ASIA_MACAO = "Asia/Macao"; |
| 309 | case ASIA_MACAU = "Asia/Macau"; |
| 310 | case ASIA_MAGADAN = "Asia/Magadan"; |
| 311 | case ASIA_MAKASSAR = "Asia/Makassar"; |
| 312 | case ASIA_MANILA = "Asia/Manila"; |
| 313 | case ASIA_MUSCAT = "Asia/Muscat"; |
| 314 | case ASIA_NICOSIA = "Asia/Nicosia"; |
| 315 | case ASIA_NOVOKUZNETSK = "Asia/Novokuznetsk"; |
| 316 | case ASIA_NOVOSIBIRSK = "Asia/Novosibirsk"; |
| 317 | case ASIA_OMSK = "Asia/Omsk"; |
| 318 | case ASIA_ORAL = "Asia/Oral"; |
| 319 | case ASIA_PHNOM_PENH = "Asia/Phnom_Penh"; |
| 320 | case ASIA_PONTIANAK = "Asia/Pontianak"; |
| 321 | case ASIA_PYONGYANG = "Asia/Pyongyang"; |
| 322 | case ASIA_QATAR = "Asia/Qatar"; |
| 323 | case ASIA_QOSTANAY = "Asia/Qostanay"; |
| 324 | case ASIA_QYZYLORDA = "Asia/Qyzylorda"; |
| 325 | case ASIA_RANGOON = "Asia/Rangoon"; |
| 326 | case ASIA_RIYADH = "Asia/Riyadh"; |
| 327 | case ASIA_SAIGON = "Asia/Saigon"; |
| 328 | case ASIA_SAKHALIN = "Asia/Sakhalin"; |
| 329 | case ASIA_SAMARKAND = "Asia/Samarkand"; |
| 330 | case ASIA_SEOUL = "Asia/Seoul"; |
| 331 | case ASIA_SHANGHAI = "Asia/Shanghai"; |
| 332 | case ASIA_SINGAPORE = "Asia/Singapore"; |
| 333 | case ASIA_SREDNEKOLYMSK = "Asia/Srednekolymsk"; |
| 334 | case ASIA_TAIPEI = "Asia/Taipei"; |
| 335 | case ASIA_TASHKENT = "Asia/Tashkent"; |
| 336 | case ASIA_TBILISI = "Asia/Tbilisi"; |
| 337 | case ASIA_TEHRAN = "Asia/Tehran"; |
| 338 | case ASIA_TEL_AVIV = "Asia/Tel_Aviv"; |
| 339 | case ASIA_THIMBU = "Asia/Thimbu"; |
| 340 | case ASIA_THIMPHU = "Asia/Thimphu"; |
| 341 | case ASIA_TOKYO = "Asia/Tokyo"; |
| 342 | case ASIA_TOMSK = "Asia/Tomsk"; |
| 343 | case ASIA_UJUNG_PANDANG = "Asia/Ujung_Pandang"; |
| 344 | case ASIA_ULAANBAATAR = "Asia/Ulaanbaatar"; |
| 345 | case ASIA_ULAN_BATOR = "Asia/Ulan_Bator"; |
| 346 | case ASIA_URUMQI = "Asia/Urumqi"; |
| 347 | case ASIA_UST_MINUS_NERA = "Asia/Ust-Nera"; |
| 348 | case ASIA_VIENTIANE = "Asia/Vientiane"; |
| 349 | case ASIA_VLADIVOSTOK = "Asia/Vladivostok"; |
| 350 | case ASIA_YAKUTSK = "Asia/Yakutsk"; |
| 351 | case ASIA_YANGON = "Asia/Yangon"; |
| 352 | case ASIA_YEKATERINBURG = "Asia/Yekaterinburg"; |
| 353 | case ASIA_YEREVAN = "Asia/Yerevan"; |
| 354 | case ATLANTIC_AZORES = "Atlantic/Azores"; |
| 355 | case ATLANTIC_BERMUDA = "Atlantic/Bermuda"; |
| 356 | case ATLANTIC_CANARY = "Atlantic/Canary"; |
| 357 | case ATLANTIC_CAPE_VERDE = "Atlantic/Cape_Verde"; |
| 358 | case ATLANTIC_FAEROE = "Atlantic/Faeroe"; |
| 359 | case ATLANTIC_FAROE = "Atlantic/Faroe"; |
| 360 | case ATLANTIC_JAN_MAYEN = "Atlantic/Jan_Mayen"; |
| 361 | case ATLANTIC_MADEIRA = "Atlantic/Madeira"; |
| 362 | case ATLANTIC_REYKJAVIK = "Atlantic/Reykjavik"; |
| 363 | case ATLANTIC_SOUTH_GEORGIA = "Atlantic/South_Georgia"; |
| 364 | case ATLANTIC_ST_HELENA = "Atlantic/St_Helena"; |
| 365 | case ATLANTIC_STANLEY = "Atlantic/Stanley"; |
| 366 | case AUSTRALIA_ACT = "Australia/ACT"; |
| 367 | case AUSTRALIA_ADELAIDE = "Australia/Adelaide"; |
| 368 | case AUSTRALIA_BRISBANE = "Australia/Brisbane"; |
| 369 | case AUSTRALIA_BROKEN_HILL = "Australia/Broken_Hill"; |
| 370 | case AUSTRALIA_CANBERRA = "Australia/Canberra"; |
| 371 | case AUSTRALIA_CURRIE = "Australia/Currie"; |
| 372 | case AUSTRALIA_DARWIN = "Australia/Darwin"; |
| 373 | case AUSTRALIA_EUCLA = "Australia/Eucla"; |
| 374 | case AUSTRALIA_HOBART = "Australia/Hobart"; |
| 375 | case AUSTRALIA_LHI = "Australia/LHI"; |
| 376 | case AUSTRALIA_LINDEMAN = "Australia/Lindeman"; |
| 377 | case AUSTRALIA_LORD_HOWE = "Australia/Lord_Howe"; |
| 378 | case AUSTRALIA_MELBOURNE = "Australia/Melbourne"; |
| 379 | case AUSTRALIA_NORTH = "Australia/North"; |
| 380 | case AUSTRALIA_NSW = "Australia/NSW"; |
| 381 | case AUSTRALIA_PERTH = "Australia/Perth"; |
| 382 | case AUSTRALIA_QUEENSLAND = "Australia/Queensland"; |
| 383 | case AUSTRALIA_SOUTH = "Australia/South"; |
| 384 | case AUSTRALIA_SYDNEY = "Australia/Sydney"; |
| 385 | case AUSTRALIA_TASMANIA = "Australia/Tasmania"; |
| 386 | case AUSTRALIA_VICTORIA = "Australia/Victoria"; |
| 387 | case AUSTRALIA_WEST = "Australia/West"; |
| 388 | case AUSTRALIA_YANCOWINNA = "Australia/Yancowinna"; |
| 389 | case BRAZIL_ACRE = "Brazil/Acre"; |
| 390 | case BRAZIL_DENORONHA = "Brazil/DeNoronha"; |
| 391 | case BRAZIL_EAST = "Brazil/East"; |
| 392 | case BRAZIL_WEST = "Brazil/West"; |
| 393 | case CANADA_ATLANTIC = "Canada/Atlantic"; |
| 394 | case CANADA_CENTRAL = "Canada/Central"; |
| 395 | case CANADA_EASTERN = "Canada/Eastern"; |
| 396 | case CANADA_MOUNTAIN = "Canada/Mountain"; |
| 397 | case CANADA_NEWFOUNDLAND = "Canada/Newfoundland"; |
| 398 | case CANADA_PACIFIC = "Canada/Pacific"; |
| 399 | case CANADA_SASKATCHEWAN = "Canada/Saskatchewan"; |
| 400 | case CANADA_YUKON = "Canada/Yukon"; |
| 401 | case CET = "CET"; |
| 402 | case CHILE_CONTINENTAL = "Chile/Continental"; |
| 403 | case CHILE_EASTERISLAND = "Chile/EasterIsland"; |
| 404 | case CST6CDT = "CST6CDT"; |
| 405 | case CUBA = "Cuba"; |
| 406 | case EET = "EET"; |
| 407 | case EGYPT = "Egypt"; |
| 408 | case EIRE = "Eire"; |
| 409 | case EST = "EST"; |
| 410 | case EST5EDT = "EST5EDT"; |
| 411 | case ETC_GMT = "Etc/GMT"; |
| 412 | case ETC_GMT_PLUS_0 = "Etc/GMT+0"; |
| 413 | case ETC_GMT_PLUS_1 = "Etc/GMT+1"; |
| 414 | case ETC_GMT_PLUS_10 = "Etc/GMT+10"; |
| 415 | case ETC_GMT_PLUS_11 = "Etc/GMT+11"; |
| 416 | case ETC_GMT_PLUS_12 = "Etc/GMT+12"; |
| 417 | case ETC_GMT_PLUS_2 = "Etc/GMT+2"; |
| 418 | case ETC_GMT_PLUS_3 = "Etc/GMT+3"; |
| 419 | case ETC_GMT_PLUS_4 = "Etc/GMT+4"; |
| 420 | case ETC_GMT_PLUS_5 = "Etc/GMT+5"; |
| 421 | case ETC_GMT_PLUS_6 = "Etc/GMT+6"; |
| 422 | case ETC_GMT_PLUS_7 = "Etc/GMT+7"; |
| 423 | case ETC_GMT_PLUS_8 = "Etc/GMT+8"; |
| 424 | case ETC_GMT_PLUS_9 = "Etc/GMT+9"; |
| 425 | case ETC_GMT_MINUS_0 = "Etc/GMT-0"; |
| 426 | case ETC_GMT_MINUS_1 = "Etc/GMT-1"; |
| 427 | case ETC_GMT_MINUS_10 = "Etc/GMT-10"; |
| 428 | case ETC_GMT_MINUS_11 = "Etc/GMT-11"; |
| 429 | case ETC_GMT_MINUS_12 = "Etc/GMT-12"; |
| 430 | case ETC_GMT_MINUS_13 = "Etc/GMT-13"; |
| 431 | case ETC_GMT_MINUS_14 = "Etc/GMT-14"; |
| 432 | case ETC_GMT_MINUS_2 = "Etc/GMT-2"; |
| 433 | case ETC_GMT_MINUS_3 = "Etc/GMT-3"; |
| 434 | case ETC_GMT_MINUS_4 = "Etc/GMT-4"; |
| 435 | case ETC_GMT_MINUS_5 = "Etc/GMT-5"; |
| 436 | case ETC_GMT_MINUS_6 = "Etc/GMT-6"; |
| 437 | case ETC_GMT_MINUS_7 = "Etc/GMT-7"; |
| 438 | case ETC_GMT_MINUS_8 = "Etc/GMT-8"; |
| 439 | case ETC_GMT_MINUS_9 = "Etc/GMT-9"; |
| 440 | case ETC_GMT0 = "Etc/GMT0"; |
| 441 | case ETC_GREENWICH = "Etc/Greenwich"; |
| 442 | case ETC_UCT = "Etc/UCT"; |
| 443 | case ETC_UNIVERSAL = "Etc/Universal"; |
| 444 | case ETC_UTC = "Etc/UTC"; |
| 445 | case ETC_ZULU = "Etc/Zulu"; |
| 446 | case EUROPE_AMSTERDAM = "Europe/Amsterdam"; |
| 447 | case EUROPE_ANDORRA = "Europe/Andorra"; |
| 448 | case EUROPE_ASTRAKHAN = "Europe/Astrakhan"; |
| 449 | case EUROPE_ATHENS = "Europe/Athens"; |
| 450 | case EUROPE_BELFAST = "Europe/Belfast"; |
| 451 | case EUROPE_BELGRADE = "Europe/Belgrade"; |
| 452 | case EUROPE_BERLIN = "Europe/Berlin"; |
| 453 | case EUROPE_BRATISLAVA = "Europe/Bratislava"; |
| 454 | case EUROPE_BRUSSELS = "Europe/Brussels"; |
| 455 | case EUROPE_BUCHAREST = "Europe/Bucharest"; |
| 456 | case EUROPE_BUDAPEST = "Europe/Budapest"; |
| 457 | case EUROPE_BUSINGEN = "Europe/Busingen"; |
| 458 | case EUROPE_CHISINAU = "Europe/Chisinau"; |
| 459 | case EUROPE_COPENHAGEN = "Europe/Copenhagen"; |
| 460 | case EUROPE_DUBLIN = "Europe/Dublin"; |
| 461 | case EUROPE_GIBRALTAR = "Europe/Gibraltar"; |
| 462 | case EUROPE_GUERNSEY = "Europe/Guernsey"; |
| 463 | case EUROPE_HELSINKI = "Europe/Helsinki"; |
| 464 | case EUROPE_ISLE_OF_MAN = "Europe/Isle_of_Man"; |
| 465 | case EUROPE_ISTANBUL = "Europe/Istanbul"; |
| 466 | case EUROPE_JERSEY = "Europe/Jersey"; |
| 467 | case EUROPE_KALININGRAD = "Europe/Kaliningrad"; |
| 468 | case EUROPE_KIEV = "Europe/Kiev"; |
| 469 | case EUROPE_KIROV = "Europe/Kirov"; |
| 470 | case EUROPE_KYIV = "Europe/Kyiv"; |
| 471 | case EUROPE_LISBON = "Europe/Lisbon"; |
| 472 | case EUROPE_LJUBLJANA = "Europe/Ljubljana"; |
| 473 | case EUROPE_LONDON = "Europe/London"; |
| 474 | case EUROPE_LUXEMBOURG = "Europe/Luxembourg"; |
| 475 | case EUROPE_MADRID = "Europe/Madrid"; |
| 476 | case EUROPE_MALTA = "Europe/Malta"; |
| 477 | case EUROPE_MARIEHAMN = "Europe/Mariehamn"; |
| 478 | case EUROPE_MINSK = "Europe/Minsk"; |
| 479 | case EUROPE_MONACO = "Europe/Monaco"; |
| 480 | case EUROPE_MOSCOW = "Europe/Moscow"; |
| 481 | case EUROPE_NICOSIA = "Europe/Nicosia"; |
| 482 | case EUROPE_OSLO = "Europe/Oslo"; |
| 483 | case EUROPE_PARIS = "Europe/Paris"; |
| 484 | case EUROPE_PODGORICA = "Europe/Podgorica"; |
| 485 | case EUROPE_PRAGUE = "Europe/Prague"; |
| 486 | case EUROPE_RIGA = "Europe/Riga"; |
| 487 | case EUROPE_ROME = "Europe/Rome"; |
| 488 | case EUROPE_SAMARA = "Europe/Samara"; |
| 489 | case EUROPE_SAN_MARINO = "Europe/San_Marino"; |
| 490 | case EUROPE_SARAJEVO = "Europe/Sarajevo"; |
| 491 | case EUROPE_SARATOV = "Europe/Saratov"; |
| 492 | case EUROPE_SIMFEROPOL = "Europe/Simferopol"; |
| 493 | case EUROPE_SKOPJE = "Europe/Skopje"; |
| 494 | case EUROPE_SOFIA = "Europe/Sofia"; |
| 495 | case EUROPE_STOCKHOLM = "Europe/Stockholm"; |
| 496 | case EUROPE_TALLINN = "Europe/Tallinn"; |
| 497 | case EUROPE_TIRANE = "Europe/Tirane"; |
| 498 | case EUROPE_TIRASPOL = "Europe/Tiraspol"; |
| 499 | case EUROPE_ULYANOVSK = "Europe/Ulyanovsk"; |
| 500 | case EUROPE_UZHGOROD = "Europe/Uzhgorod"; |
| 501 | case EUROPE_VADUZ = "Europe/Vaduz"; |
| 502 | case EUROPE_VATICAN = "Europe/Vatican"; |
| 503 | case EUROPE_VIENNA = "Europe/Vienna"; |
| 504 | case EUROPE_VILNIUS = "Europe/Vilnius"; |
| 505 | case EUROPE_VOLGOGRAD = "Europe/Volgograd"; |
| 506 | case EUROPE_WARSAW = "Europe/Warsaw"; |
| 507 | case EUROPE_ZAGREB = "Europe/Zagreb"; |
| 508 | case EUROPE_ZAPOROZHYE = "Europe/Zaporozhye"; |
| 509 | case EUROPE_ZURICH = "Europe/Zurich"; |
| 510 | case FACTORY = "Factory"; |
| 511 | case GB = "GB"; |
| 512 | case GB_MINUS_EIRE = "GB-Eire"; |
| 513 | case GMT = "GMT"; |
| 514 | case GMT_PLUS_0 = "GMT+0"; |
| 515 | case GMT_MINUS_0 = "GMT-0"; |
| 516 | case GMT0 = "GMT0"; |
| 517 | case GREENWICH = "Greenwich"; |
| 518 | case HONGKONG = "Hongkong"; |
| 519 | case HST = "HST"; |
| 520 | case ICELAND = "Iceland"; |
| 521 | case INDIAN_ANTANANARIVO = "Indian/Antananarivo"; |
| 522 | case INDIAN_CHAGOS = "Indian/Chagos"; |
| 523 | case INDIAN_CHRISTMAS = "Indian/Christmas"; |
| 524 | case INDIAN_COCOS = "Indian/Cocos"; |
| 525 | case INDIAN_COMORO = "Indian/Comoro"; |
| 526 | case INDIAN_KERGUELEN = "Indian/Kerguelen"; |
| 527 | case INDIAN_MAHE = "Indian/Mahe"; |
| 528 | case INDIAN_MALDIVES = "Indian/Maldives"; |
| 529 | case INDIAN_MAURITIUS = "Indian/Mauritius"; |
| 530 | case INDIAN_MAYOTTE = "Indian/Mayotte"; |
| 531 | case INDIAN_REUNION = "Indian/Reunion"; |
| 532 | case IRAN = "Iran"; |
| 533 | case ISRAEL = "Israel"; |
| 534 | case JAMAICA = "Jamaica"; |
| 535 | case JAPAN = "Japan"; |
| 536 | case KWAJALEIN = "Kwajalein"; |
| 537 | case LIBYA = "Libya"; |
| 538 | case MET = "MET"; |
| 539 | case MEXICO_BAJANORTE = "Mexico/BajaNorte"; |
| 540 | case MEXICO_BAJASUR = "Mexico/BajaSur"; |
| 541 | case MEXICO_GENERAL = "Mexico/General"; |
| 542 | case MST = "MST"; |
| 543 | case MST7MDT = "MST7MDT"; |
| 544 | case NAVAJO = "Navajo"; |
| 545 | case NZ = "NZ"; |
| 546 | case NZ_MINUS_CHAT = "NZ-CHAT"; |
| 547 | case PACIFIC_APIA = "Pacific/Apia"; |
| 548 | case PACIFIC_AUCKLAND = "Pacific/Auckland"; |
| 549 | case PACIFIC_BOUGAINVILLE = "Pacific/Bougainville"; |
| 550 | case PACIFIC_CHATHAM = "Pacific/Chatham"; |
| 551 | case PACIFIC_CHUUK = "Pacific/Chuuk"; |
| 552 | case PACIFIC_EASTER = "Pacific/Easter"; |
| 553 | case PACIFIC_EFATE = "Pacific/Efate"; |
| 554 | case PACIFIC_ENDERBURY = "Pacific/Enderbury"; |
| 555 | case PACIFIC_FAKAOFO = "Pacific/Fakaofo"; |
| 556 | case PACIFIC_FIJI = "Pacific/Fiji"; |
| 557 | case PACIFIC_FUNAFUTI = "Pacific/Funafuti"; |
| 558 | case PACIFIC_GALAPAGOS = "Pacific/Galapagos"; |
| 559 | case PACIFIC_GAMBIER = "Pacific/Gambier"; |
| 560 | case PACIFIC_GUADALCANAL = "Pacific/Guadalcanal"; |
| 561 | case PACIFIC_GUAM = "Pacific/Guam"; |
| 562 | case PACIFIC_HONOLULU = "Pacific/Honolulu"; |
| 563 | case PACIFIC_JOHNSTON = "Pacific/Johnston"; |
| 564 | case PACIFIC_KANTON = "Pacific/Kanton"; |
| 565 | case PACIFIC_KIRITIMATI = "Pacific/Kiritimati"; |
| 566 | case PACIFIC_KOSRAE = "Pacific/Kosrae"; |
| 567 | case PACIFIC_KWAJALEIN = "Pacific/Kwajalein"; |
| 568 | case PACIFIC_MAJURO = "Pacific/Majuro"; |
| 569 | case PACIFIC_MARQUESAS = "Pacific/Marquesas"; |
| 570 | case PACIFIC_MIDWAY = "Pacific/Midway"; |
| 571 | case PACIFIC_NAURU = "Pacific/Nauru"; |
| 572 | case PACIFIC_NIUE = "Pacific/Niue"; |
| 573 | case PACIFIC_NORFOLK = "Pacific/Norfolk"; |
| 574 | case PACIFIC_NOUMEA = "Pacific/Noumea"; |
| 575 | case PACIFIC_PAGO_PAGO = "Pacific/Pago_Pago"; |
| 576 | case PACIFIC_PALAU = "Pacific/Palau"; |
| 577 | case PACIFIC_PITCAIRN = "Pacific/Pitcairn"; |
| 578 | case PACIFIC_POHNPEI = "Pacific/Pohnpei"; |
| 579 | case PACIFIC_PONAPE = "Pacific/Ponape"; |
| 580 | case PACIFIC_PORT_MORESBY = "Pacific/Port_Moresby"; |
| 581 | case PACIFIC_RAROTONGA = "Pacific/Rarotonga"; |
| 582 | case PACIFIC_SAIPAN = "Pacific/Saipan"; |
| 583 | case PACIFIC_SAMOA = "Pacific/Samoa"; |
| 584 | case PACIFIC_TAHITI = "Pacific/Tahiti"; |
| 585 | case PACIFIC_TARAWA = "Pacific/Tarawa"; |
| 586 | case PACIFIC_TONGATAPU = "Pacific/Tongatapu"; |
| 587 | case PACIFIC_TRUK = "Pacific/Truk"; |
| 588 | case PACIFIC_WAKE = "Pacific/Wake"; |
| 589 | case PACIFIC_WALLIS = "Pacific/Wallis"; |
| 590 | case PACIFIC_YAP = "Pacific/Yap"; |
| 591 | case POLAND = "Poland"; |
| 592 | case PORTUGAL = "Portugal"; |
| 593 | case PRC = "PRC"; |
| 594 | case PST8PDT = "PST8PDT"; |
| 595 | case ROC = "ROC"; |
| 596 | case ROK = "ROK"; |
| 597 | case SINGAPORE = "Singapore"; |
| 598 | case TURKEY = "Turkey"; |
| 599 | case UCT = "UCT"; |
| 600 | case UNIVERSAL = "Universal"; |
| 601 | case US_ALASKA = "US/Alaska"; |
| 602 | case US_ALEUTIAN = "US/Aleutian"; |
| 603 | case US_ARIZONA = "US/Arizona"; |
| 604 | case US_CENTRAL = "US/Central"; |
| 605 | case US_EAST_MINUS_INDIANA = "US/East-Indiana"; |
| 606 | case US_EASTERN = "US/Eastern"; |
| 607 | case US_HAWAII = "US/Hawaii"; |
| 608 | case US_INDIANA_MINUS_STARKE = "US/Indiana-Starke"; |
| 609 | case US_MICHIGAN = "US/Michigan"; |
| 610 | case US_MOUNTAIN = "US/Mountain"; |
| 611 | case US_PACIFIC = "US/Pacific"; |
| 612 | case US_SAMOA = "US/Samoa"; |
| 613 | case UTC = "UTC"; |
| 614 | case W_MINUS_SU = "W-SU"; |
| 615 | case WET = "WET"; |
| 616 | case ZULU = "Zulu"; |
| 617 | |
| 618 | /** |
| 619 | * Get the DateTimeZone object for this timezone. |
| 620 | */ |
| 621 | public function toDateTimeZone(): DateTimeZone |
| 622 | { |
| 623 | return new DateTimeZone($this->value); |
| 624 | } |
| 625 | |
| 626 | /** |
| 627 | * Get the current UTC offset in seconds for this timezone. |
| 628 | */ |
| 629 | public function getUtcOffset(): int |
| 630 | { |
| 631 | return $this->toDateTimeZone() |
| 632 | ->getOffset(new DateTimeImmutable("now", new DateTimeZone("UTC"))); |
| 633 | } |
| 634 | |
| 635 | /** |
| 636 | * Get the current UTC offset formatted as string (e.g., "+02:00", "-05:00"). |
| 637 | */ |
| 638 | public function getUtcOffsetString(): string |
| 639 | { |
| 640 | $offset = $this->getUtcOffset(); |
| 641 | $hours = intdiv(abs($offset), 3600); |
| 642 | $minutes = intdiv(abs($offset) % 3600, 60); |
| 643 | $sign = $offset >= 0 ? "+" : "-"; |
| 644 | |
| 645 | return sprintf("%s%02d:%02d", $sign, $hours, $minutes); |
| 646 | } |
| 647 | |
| 648 | public function label(): string |
| 649 | { |
| 650 | return $this->value . ' (' . $this->getUtcOffsetString() . ')'; |
| 651 | } |
| 652 | |
| 653 | /** |
| 654 | * @return string[] |
| 655 | */ |
| 656 | public function labelList(): array |
| 657 | { |
| 658 | return array_map(fn (self $case) => $case->label(), self::cases()); |
| 659 | } |
| 660 | |
| 661 | /** |
| 662 | * @return array<string, string> |
| 663 | */ |
| 664 | public static function toArray(): array |
| 665 | { |
| 666 | $result = []; |
| 667 | |
| 668 | foreach (self::cases() as $timezone) { |
| 669 | $result[$timezone->value] = $timezone->value; |
| 670 | } |
| 671 | |
| 672 | return $result; |
| 673 | } |
| 674 | |
| 675 | /** |
| 676 | * @return array<string, string> |
| 677 | */ |
| 678 | public static function toArrayWithLabels(): array |
| 679 | { |
| 680 | $result = []; |
| 681 | |
| 682 | foreach (self::cases() as $timezone) { |
| 683 | $result[$timezone->value] = $timezone->label(); |
| 684 | } |
| 685 | |
| 686 | return $result; |
| 687 | } |
| 688 | } |