Domanda

Ho una colonna Data in 'gg aaaa / mm /' formato e colonna Ora in 'HH: MM AM / PM' formato in Google App foglio di calcolo. In applicazione di script, voglio unire questi 2 valori come datetime. Come posso fare questo?

Data Esempio-: 13/12/2010, tempo: 04:30 Poi voglio ottenere un valore combinato come '13 / 12/2010 04:30' come un oggetto datetime.

ho cercato fino ad oggi di analisi e l'ora separatamente utilizzando getYear, funzioni getDay JS. E ha creato una nuova data utilizzando

new Date(year, month, day, hours, minutes)

Ma da qualche tempo motivo '4:30' viene mostrato come una data strana completo come 30 Nov 1899 10:30. Posso estrarre con precisione l'anno, giorno e mese, ma non ore e minuti.

È stato utile?

Soluzione

Ive ha ottenuto questo risolta in questo filo di Google Apps forum.

"In primo luogo, non c'è alcuna differenza tra la data e l'ora (oltre la formattazione), sono tutti oggetti Date. Ora per il problema .. Il numero che è il valore di data / ora nel foglio, è il numero di giorni trascorsi "epoca", in modo che il "tempo" è in realtà la parte decimale del numero. Se si digita 0 (zero) nel foglio di calcolo e quindi selezionare il formato datetime, vedrete che l'epoca è "12/30/1899 0:00:00" nel fuso orario corrente foglio di calcolo. cioè in diversi fogli, configurati con differenti fusi orari, l'epoca può cambiare. E se si opera lo stesso valore numerico in due fogli di calcolo (ad esempio utilizzando ImportRange) avrete il diverso. Un comportamento che è molto strano per me. Non è sempre stato così, ma Google sembrava pensare questo è meglio per l'utente, perché se uno cambia le impostazioni di foglio di calcolo di fuso orario, le date non cambieranno visivamente, ad esempio, se si digita "1/1/10 14:00" nel foglio di lavoro e quindi modificare il fuso orario a qualsiasi altro, la data / ora non cambierà. Sarà ancora 14:00 nel nuovo fuso orario.

Ora, nel GAS epoca è "1/1/1970 00:00:00 GMT + 0", la società importa il fuso orario. Così, l'epoca è diversa e molto probabilmente anche il fuso orario. Questo rende le date che operano tra gas e il foglio di calcolo di un disastro totale. Per testare l'epoca GAS, fare un range.setValue (new Date (0)); "

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top