다른 시간을위한 타임 스탬프의 로컬 타임을 결정하는 방법은 무엇입니까?
-
08-07-2019 - |
문제
UTC 타임 스탬프를 얻었고 다른 시간을 전시하고 싶습니다.
어쩌면 예를 들어 내가하려는 일을 명확히 할 수 있습니다.
타임 스탬프가 주어졌습니다 1259431620000
그 시간을 표시해야합니다.
애틀랜타 13:07
샌프란시스코 10:07
런던 17:07
시드니 04:07
도시는 변할 수도 있지만 내가 찾고있는 것을 얻는 것 같아요.
일광 절약을 다루는 JavaScript 라이브러리 또는 일반적인 솔루션이 있습니까?
나는 모두 준비된 모든 시간대 목록을 가지고 있습니다.
일광 절약은 쉽고 일반적인 문제이므로 라이브러리 나 스크립트가있을 수 있다고 생각했습니다.
시간대 테이블에서 흥미로운 경우 :
* GMT -11:00
o Apia
o Midway
o Niue
o Pago Pago
* GMT -10:00
o Fakaofo
o Hawaii Time
o Johnston
o Rarotonga
o Tahiti
* GMT -09:00
o (GMT-09:30) Marquesas
o Alaska Time
o Gambier
* GMT -08:00
o Pacific Time
o Pacific Time - Tijuana
o Pacific Time - Vancouver
o Pacific Time - Whitehorse
o Pitcairn
* GMT -07:00
o Mountain Time - Dawson Creek
o Mountain Time (America/Denver)
o Mountain Time - Edmonton
o Mountain Time - Hermosillo
o Mountain Time - Chihuahua, Mazatlan
o Mountain Time - Arizona
o Mountain Time - Yellowknife
* GMT -06:00
o Belize
o Central Time
o Costa Rica
o El Salvador
o Guatemala
o Managua
o Central Time - Mexico City
o Central Time - Regina
o Central Time (America/Tegucigalpa)
o Central Time - Winnipeg
o Easter Island
o Galapagos
* GMT -05:00
o Bogota
o Cayman
o Grand Turk
o Guayaquil
o Havana
o Eastern Time - Iqaluit
o Jamaica
o Lima
o Eastern Time - Montreal
o Nassau
o Eastern Time
o Panama
o Port-au-Prince
o Eastern Time - Toronto
* GMT -04:00
o (GMT-04:30) Caracas
o Anguilla
o Antigua
o Aruba
o Asuncion
o Barbados
o Boa Vista
o Campo Grande
o Cuiaba
o Curacao
o Dominica
o Grenada
o Guadeloupe
o Guyana
o Atlantic Time - Halifax
o La Paz
o Manaus
o Martinique
o Montserrat
o Port of Spain
o Porto Velho
o Puerto Rico
o Rio Branco
o Santiago
o Santo Domingo
o St. Kitts
o St. Lucia
o St. Thomas
o St. Vincent
o Thule
o Tortola
o Palmer
o Bermuda
o Stanley
* GMT -03:00
o Newfoundland Time - St. Johns
o Araguaina
o Buenos Aires
o Salvador
o Belem
o Cayenne
o Fortaleza
o Godthab
o Maceio
o Miquelon
o Montevideo
o Paramaribo
o Recife
o Sao Paulo
o Rothera
* GMT -02:00
o Noronha
o South Georgia
* GMT -01:00
o Scoresbysund
o Azores
o Cape Verde
o Abidjan
* GMT 00:00
o Accra
o Bamako
o Banjul
o Bissau
o Casablanca
o Conakry
o Dakar
o El Aaiun
o Freetown
o Lome
o Monrovia
o Nouakchott
o Ouagadougou
o Sao Tome
o Danmarkshavn
o Canary Islands
o Faeroe
o Reykjavik
o St Helena
o GMT (no daylight saving)
o Dublin
o Lisbon
o London
* GMT +01:00
o Algiers
o Bangui
o Brazzaville
o Ceuta
o Douala
o Kinshasa
o Lagos
o Libreville
o Luanda
o Malabo
o Ndjamena
o Niamey
o Porto-Novo
o Tunis
o Windhoek
o Amsterdam
o Andorra
o Central European Time
o Berlin
o Brussels
o Budapest
o Copenhagen
o Gibraltar
o Luxembourg
o Madrid
o Malta
o Monaco
o Oslo
o Paris
o Rome
o Stockholm
o Tirane
o Vaduz
o Vienna
o Warsaw
o Zurich
* GMT +02:00
o Blantyre
o Bujumbura
o Cairo
o Gaborone
o Harare
o Johannesburg
o Kigali
o Lubumbashi
o Lusaka
o Maputo
o Maseru
o Mbabane
o Tripoli
o Amman
o Beirut
o Damascus
o Gaza
o Jerusalem
o Nicosia
o Athens
o Bucharest
o Chisinau
o Helsinki
o Istanbul
o Moscow-01 - Kaliningrad
o Kiev
o Minsk
o Riga
o Sofia
o Tallinn
o Vilnius
* GMT +03:00
o Addis Ababa
o Asmera
o Dar es Salaam
o Djibouti
o Kampala
o Khartoum
o Mogadishu
o Nairobi
o Syowa
o Aden
o Baghdad
o Bahrain
o Kuwait
o Qatar
o Riyadh
o Moscow+00
o Antananarivo
o Comoro
o Mayotte
o (GMT+03:30) Tehran
* GMT +04:00
o Baku
o Dubai
o Muscat
o Tbilisi
o Yerevan
o Moscow+01 - Samara
o Mahe
o Mauritius
o Reunion
o (GMT+04:30) Kabul
* GMT +05:00
o Aqtau
o Aqtobe
o Ashgabat
o Dushanbe
o Karachi
o Tashkent
o Moscow+02 - Yekaterinburg
o Kerguelen
o Maldives
o (GMT+05:30) India Standard Time
o (GMT+05:30) Colombo
o (GMT+05:45) Katmandu
* GMT +06:00
o Mawson
o Vostok
o Almaty
o Bishkek
o Dhaka
o Moscow+03 - Omsk, Novosibirsk
o Thimphu
o Chagos
o (GMT+06:30) Rangoon
o (GMT+06:30) Cocos
* GMT +07:00
o Davis
o Bangkok
o Hovd
o Jakarta
o Moscow+04 - Krasnoyarsk
o Phnom Penh
o Hanoi
o Vientiane
o Christmas
* GMT +08:00
o Casey
o Brunei
o Choibalsan
o Hong Kong
o Moscow+05 - Irkutsk
o Kuala Lumpur
o Macau
o Makassar
o Manila
o China Time - Beijing
o Singapore
o Taipei
o Ulaanbaatar
o Western Time - Perth
* GMT +09:00
o Dili
o Jayapura
o Pyongyang
o Seoul
o Tokyo
o Moscow+06 - Yakutsk
o Palau
o (GMT+09:30) Central Time - Adelaide
o (GMT+09:30) Central Time - Darwin
* GMT +10:00
o Dumont D'Urville
o Moscow+07 - Yuzhno-Sakhalinsk
o Eastern Time - Brisbane
o Eastern Time - Hobart
o Eastern Time - Melbourne, Sydney
o Guam
o Port Moresby
o Saipan
o Truk
* GMT +11:00
o Moscow+08 - Magadan
o Efate
o Guadalcanal
o Kosrae
o Noumea
o Ponape
o (GMT+11:30) Norfolk
* GMT +12:00
o Moscow+09 - Petropavlovsk-Kamchatskiy
o Auckland
o Fiji
o Funafuti
o Kwajalein
o Majuro
o Nauru
o Tarawa
o Wake
o Wallis
* GMT +13:00
o Enderbury
o Tongatapu
o Kiritimati
미리 감사드립니다
다른 팁
조금 길지만 이것은 아마도 작동 해야하는 것처럼 보입니다 ...
http://www.onlineaspect.com/2007/06/08/auto-detect-aime-zone-with-javaScript/
Timezone은 기본적으로 정수를 추가하기 때문에 UTC 시간에서 현지화 된 시간으로 번역하는 것은 사소한 일입니다.
그래서 당신이 정말로 필요한 것은 모든 도시/국가와 각각의 시간대의 목록이라고 생각합니다 ...? 아니면 내가 오해하고 있습니까?
정확히 무엇을 달성해야합니까?
DST 시간 규칙은 끊임없이 변하고 일부 국가에서는 매년 변경됩니다. 이 접근 방식을 서버 측면을 해결하려고 노력하지만 가능하지 않은 경우 AJAX를 사용하여 서버로 다시 호출하여 사용자의 현재 시간 또는 DST 오프셋을 얻는 것을 고려합니다. 자신의 시간대 및 구역 규칙 변경 목록을 유지하는 것은 특히 배치 해야하는 경우 번거 로울 것입니다. 그러나 영역 규칙 데이터베이스가 있으면 실제로 라이브러리를 구현하는 것은 사소해야합니다.
여기에 매우 부자가 있습니다 자바 스크립트 라이브러리 'datejs' - 일광 절약을 지원합니다.
시간을 UTC로 표시하고 이와 같은 것을 제공 할 수 있습니다.
2010-01-01 00:00 (UTC) 현지에서 시간을 얻으십시오
www.worldtimeserver.com에 위치를 지정하기 위해 소비 할 수있는 서비스가없는 것 같습니다. 따라서 사용자가 자신의 선택을 선택해야합니다. Time Zone 데이터베이스를 구독 할 수 있지만 연간 $ 400입니다.
당신이 요구하는 것은 일광 절약 시간 규칙 목록 인 것 같습니다. 따라서 DST를 관찰하는 국가 목록과이를 관찰하는 방법은 다음과 같습니다.