Ecco il problema: l'UE e gli Stati Uniti non attivano e disattivano l'ora legale contemporaneamente; questo marzo, c'è stata una differenza di tre settimane tra questi eventi.
Ecco cosa succede durante questo periodo. Supponiamo che tu abbia un evento ogni giorno alla stessa ora e, dal momento che risiedi negli Stati Uniti, regolerai gli orari utilizzando l'ora legale degli Stati Uniti.
Day (2001) United States Europe United Kingdom Global Time delta
March 5th EST 1500 CET 2100 GMT 2000 GMT 2000 +23h
March 6th EDT 1500 CET 2000 GMT 1900 GMT 1900 +24h
March 7th EDT 1500 CET 2000 GMT 1900 GMT 1900 +24h
..............................................................................
March 26th EDT 1500 CET 2000 GMT 1900 GMT 1900 +24h
March 27th EDT 1500 CEST 2100 BST 2000 GMT 1900 +24h
Analizziamo tutte le possibilità:
Se visualizzi l'ora in un fuso orario globale e lo chiami UTC , che sembra la cosa giusta da fare, confonderai i tuoi clienti americani, che vedranno orari UTC diversi (ieri 8pm, oggi 7pm) per il stesso orario dell'orologio a muro (ieri alle 15:00, di nuovo oggi alle 15:00), quindi i tuoi clienti con sede nell'UE, che non vedono il cambio dell'orologio pubblicato e che devono comunque cambiare l'orario dell'evento dell'orologio a muro.
Se visualizzi l'ora in un fuso orario globale e lo chiami GMT , oltre a confondere i clienti statunitensi, confonderai anche i clienti del Regno Unito che passano da GMT a BST. È controintuitivo capire che EDT 1500 e EST 1400 sono lo stesso momento nel tempo; ora traducilo in BST / GMT (con l'ulteriore problema che non mostrerai i tempi BST in nessuna parte del sito).
Se visualizzi il fuso orario in un fuso orario dell'UE (ho usato CET / CEST per evitare confusione GMT / UTC), sarà ovviamente molto confuso per i tuoi clienti statunitensi, che vedono l'ora dell'evento passare avanti e indietro due volte e tuttavia non sperimentano alcun muro l'orologio cambia se stessi. Mentre i tuoi clienti statunitensi potrebbero essere pronti al primo passaggio (dopo tutto devono cambiare gli orologi da parete lo stesso giorno), saranno sorpresi da quest'ultimo.
Se visualizzi il fuso orario nel fuso orario degli Stati Uniti (come EST / EDT ), avrai la situazione esatta spiegata sopra, ma rispecchiata!
Sembra una situazione senza speranza! Ecco come sono arrivato ad affrontarlo dopo quattro anni passati attraverso questo rigmarole (due volte l'anno, ovviamente): "inventare un fuso orario".
Sono esattamente nella situazione nella foto sopra, quindi ho inventato "NYT" (New York Timezone) in modo da poter scrivere "1500 NYT" per significare "15:00 in qualunque fuso orario sia New York."
Questo ha il vantaggio che, fintanto che l'utente sa che si sta verificando il valzer dell'ora legale, ha un modo molto semplice di convertire avanti e indietro nel proprio fuso orario: google " time in new york " per vedere che ore sono a New York , quindi risolvilo da lì. Puoi anche divertirti e utilizzare i servizi basati sulla geolocalizzazione come time.is/15:00_in_New_York .
Si noti che, mentre si potrebbe utilizzare nomi abbreviazione di fuso orario in time.is, vi esorto di non farlo, perché sono abbastanza confusi su tutto se stessi: EST ha lo stesso tempo come EDT ‽
Puoi informare gli utenti dell'ora legale con un po 'di disturbo, collegandoti a un servizio web di conversione del tempo appropriato per aiutare le persone. Idealmente, tutti i timestamp dovrebbero avere un'opzione da convertire in ora locale.
Quando tutto è stato detto e fatto, dovresti capire che ho ignorato l'elefante nella stanza per tutto il tempo, e questa è la soluzione "conto alla rovescia" che hai già implementato. Non c'è nulla di confuso nel "in 1 giorno 2 ore 45 minuti 47 secondi" (e se ritieni di non aver bisogno di tanta precisione potresti voler ripensarci ).
Certo, nella mia esperienza non ho mai avuto il lusso di nulla che non fosse un testo statico, quindi ho dovuto gestire l'incredibile confusione nella foto sopra (e questo è solo l' inizio ! Che ne dici dell'emisfero meridionale, che fa l'ora legale all'indietro?) , ma per il tuo caso d'uso sembra la soluzione con il minimo potenziale di confusione. Potresti ricevere due discussioni all'anno che chiedono informazioni sugli eventi "in 23 ore" e "in 25 ore" mentre di solito conta alla rovescia da "in 24 ore", ma il gioco è fatto.