Olùyí Agbègbè-Àkókò Ọ̀fẹ́

Yí àkókò padà láàrin èyíkéyìí nínú àwọn agbègbè-àkókò 20 lágbàáyé ní ìgbà kan náà. Lo àkókò gidi tí ó ń lọ lọ́wọ́ tàbí tẹ ọjọ́ àti àkókò àdámọ́ sí i láti fi wéra.

Ó ń ṣiṣẹ́ láìsí ìsopọ̀ ní kété tí a bá kó wọlé
Àwọn ibi àkókò tí a yàn
New York
 
London
 
Tokyo
 
Sydney
 

Fi ibi àkókò kún

Bí Ó Ṣe Ń Ṣiṣẹ́

Gbogbo ìlànà ìyípadà ń ṣiṣẹ́ pátápátá nínú aṣàwákiri rẹ ní lílo API JavaScript Intl.DateTimeFormat — ẹ́ńjìnnì ìjọba-ọ̀tọ̀ọ̀tọ̀ kan náà tí a kọ́ sínú Chrome, Firefox, àti Safari. Kò sí ìwé-ìṣirò ìta kankan, kò sí ìpè sáfà.

  1. 1
    A kó àtòjọ agbègbè-àkókò IANA wọlé
    Nígbà tí a bá kó wọlé, irinṣẹ́ náà ń pe Intl.supportedValuesOf('timeZone') láti gba gbogbo àkójọpọ̀ agbègbè-àkókò IANA tí aṣàwákiri rẹ ń gbé — sábà máa jẹ́ ju 400 lọ. Lórí àwọn ẹ́ńjìnnì àgbà ó ń padà sí àtòjọ ìlú ńlá 20 tí a dá kalẹ̀.
  2. 2
    A ń yanjú ìbáwọlé aago-ògiri sí àkókò UTC kan
    Nígbà tí o bá kọ ọjọ́ àti àkókò àkànṣe, irinṣẹ́ náà ń ṣiṣẹ́ algorithm ìgbésẹ̀-méjì kan ní lílo Intl.DateTimeFormat(...).formatToParts() láti ṣírò ìdí UTC fún agbègbè orísun tí o yàn, kí ó sì yọ ọ́ kúrò. Ìgbésẹ̀ kejì kan ń tún ṣàyẹ̀wò ìdí náà ní àkókò tí ó jáde náà láti mú àwọn ọ̀ràn ẹ̀gbẹ́ ààlà DST dáadáa.
  3. 3
    A ṣe àgbékalẹ̀ agbègbè àfojúsùn kọ̀ọ̀kan lọ́tọ̀ọ̀tọ̀
    A ń pe Intl.DateTimeFormat lẹ́ẹ̀kan fún agbègbè-àkókò tí a yàn kọ̀ọ̀kan, tí ó ń fi àkókò UTC tí a yanjú àti ìdámọ̀ agbègbè IANA (f.à. Asia/Tokyo) fún un. Àwọn tábìlì agbègbè-àkókò aṣàwákiri tí a kọ́ sínú rẹ̀ ń darí àwọn òfin DST àti ìtàn ìdí, tí ó ń mú ọjọ́ ọ̀sẹ̀, ọjọ́, àti ọ̀wọ́ ọ̀rọ̀ àkókò tí ó mọ agbègbè jáde.
  4. 4
    Aago láàyè ń tíkì nípasẹ̀ setInterval
    Nígbà tí 'lo àkókò lọ́wọ́lọ́wọ́' bá ti tan, setInterval ìṣẹ́jú-aaya-kan ń ṣàtúnṣe ọjọ́ ìpìlẹ̀ nínú ipò React, nítorí náà agbègbè-àkókò kọ̀ọ̀kan tí a fihàn ń tún tújáde ní àkókò gidi. A ń fi àwọn àyàn agbègbè rẹ pamọ́ sí localStorage nítorí náà wọ́n ń kù kọjá àwọn ìbẹ̀wò.

Àwọn Irinṣẹ Tó Jọra

Àwọn Ìbéèrè Tí A Máa Ń Béèrè