it-swarm.dev

Conversione del fuso orario in un foglio di lavoro Google

So che questo sembra semplice.

In un foglio di lavoro di Google, ho una colonna in cui inserisco il tempo in un fuso orario (GMT) E un'altra colonna dovrebbe automaticamente ottenere il tempo in un altro fuso orario (ora del Pacifico)

 GMT      | PT
----------|------------
 5:00 AM  | 9:00 PM

A partire da ora sto usando 

 =$C$3-time(8,0,0)

Il problema qui è che voglio cambiare la formula temporale per i risparmi diurni.

È disponibile una funzione o uno script che può portare automaticamente all'ora legale il calcolo.

15
skay

Risposta breve

Non esiste una funzione built-in ma è possibile creare una funzione personalizzata.

Esempio

/**
 * Converts a datetime string to a datetime string in a targe timezone.
 *
 *@param {"October 29, 2016 1:00 PM CDT"} datetimeString Date, time and timezone.
 *@param {"GMT"} timeZone Target timezone
 *@param {"YYYY-MM-dd hh:mm a z"} Datetime format
 *@customfunction
 */
function myFunction(datetimeString,timeZone,format) {
  var moment = new Date(datetimeString);
  return Utilities.formatDate(moment, timeZone, format)
}

Spiegazione

Per considerare i fusi orari dell'ora legale, l'argomento di input per il valore da convertire dovrebbe includere la data, non solo l'ora del giorno. È possibile impostare una data e un fuso orario predefiniti per creare la datetimeString concatenandola prima di chiamare la formula.

=myFunction("October 29, 2016 "&A2&"GMT","PDT","hh:mm a")

Guarda anche

Riferimenti

15
Rubén

Questo può anche essere fatto senza macro. Basta usare le funzioni e la manipolazione dei dati sarà sufficiente. Spiegare l'intero processo qui sarebbe un po 'macchinoso. Fai la tua ricerca su come funzionano le varie funzioni del tempo e usa la tua creatività. 

Suggerimento: Usa = ORA () se vuoi sia la data che l'ora correnti. Ne avrai davvero bisogno se hai bisogno di trovare la differenza precisa tra le diverse date. 

Usa = ORA () - INT (ORA ()) quando vuoi solo il tempo (con la data troncata se entrambe le volte cadono nella stessa data). Quindi formattare la cella o le celle corrispondenti per il tempo (ad esempio 4:30 PM), non per data/ora (25/03/2019 17:00:00). Quest'ultimo è il formato che useresti quando vuoi mostrare sia la data che l'ora ... come quando usi NOW ().

Cerca anche online l'offset dell'ora legale per i vari fusi orari standard (PT, MT, CT, ET, AT) rispetto al tempo universale coordinato (UTC). Ad esempio, nel 2019 l'offset per Pacific Time è UTC-7 quando si osserva l'ora legale a partire dal 10 marzo alle 2 AM (Pacifico) fino al 3 novembre alle 2 del mattino. Ciò significa che la differenza di tempo tra UTC e Pacifico è di 7 ore. Durante il resto dell'anno è di 8 ore (UTC-8). Durante l'osservazione dell'ora legale, a partire da marzo (il 10 di quest'anno), passa da PST a PDT spostando gli orologi avanti di 1 ora, o quello che sappiamo come UTC-7 (che è l'ora legale). Dopo l'osservazione dell'ora legale passa da PDT a PST spostando di nuovo gli orologi indietro di 1 ora, o ciò che sappiamo come UTC-8 (o orario invernale). Ricorda che l'orologio è avanzato un'ora a marzo per sfruttare meglio il tempo. Questo è ciò che chiamiamo ora legale o ora legale. Quindi, dopo l'8 marzo alle 2 AM (quest'anno nel 2019) siamo in UTC-7. A novembre, facciamo l'opposto. Il 3 novembre alle 2:00 l'orologio viene riportato indietro di un'ora dopo l'inverno. A quel punto torniamo in Ora solare. Sembra un po 'confuso, ma in realtà non lo è.

Quindi, in pratica, per le persone in PT passano da PST a PDT a marzo e da PDT a PST a novembre. Lo stesso identico processo prosegue con Mountain Time, Central Time e Eastern Time. Ma hanno diverse compensazioni di tempo UTC. MT è UTC-6 o UTC-7. CT è UTC-5 o UTC-6. E ET è UTC-4 o UTC-5. Tutto dipende dal fatto che siamo in estate quando si osserva l'illuminazione diurna per sfruttare meglio la luce del giorno e l'orario di lavoro, o in inverno (AKA, ora solare).

Studia attentamente e capisci come funzionano, e gioca con le varie funzioni temporali in Excel o Fogli Google come le funzioni TIME (#, #, #) e NOW () e simili, e credimi, presto sarai in grado fare qualcosa come un professionista con semplici funzioni senza dover usare VBA. Puoi anche usare la funzione TEXT (), però, con trucchi come = TEXT (L4, "DDD, MMM D") e "|" & TEXT (L4, "h: mm AM/PM"), dove L4 contiene la tua data -timestamp, per visualizzare i formati di data e ora. La funzione VALUE () è utile anche di tanto in tanto. È anche possibile progettare un timer per il conto alla rovescia numerico senza l'uso di macro. Dovresti creare un riferimento circolare e impostare iterazioni su 1 e visualizzare l'ora per dire ogni 1 minuto, nelle impostazioni del foglio di lavoro.

Il sito web ufficiale di data e ora punt com è una buona fonte di informazioni per tutti per conoscere i fusi orari e come viene gestita l'ora legale. Hanno anche tutte le compensazioni UTC. In bocca al lupo.

1
user10897742