5

Tengo una columna de fecha en formato 'dd/mm/aaaa' y la columna de hora en formato 'HH: MM AM/PM' en la hoja de cálculo de la aplicación de Google. En la secuencia de comandos de la aplicación, deseo unir estos 2 valores como una fecha y hora. ¿Cómo puedo hacer esto?¿Cómo combinar la fecha y la hora como fecha y hora en la secuencia de comandos de hoja de cálculo de Google Apps?

Ejemplo- fecha: 13/12/2010, hora: 4:30 PM Entonces quiero obtener un valor combinado como '13/12/2010 4:30 PM 'como un objeto datetime.

He intentado analizar la fecha y la hora por separado utilizando las funciones getYear, getDay JS. Y ha creado una nueva fecha con

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

Pero por alguna razón el tiempo '4:30' se está mostrando como una fecha extraña completa así como un 30 Nov 1899 10:30 h. Puedo extraer exactamente año, día y mes, pero no horas y minutos.

Respuesta

3

Tengo esta respuesta en el this subproceso del foro de Google Apps.

"En primer lugar, no hay diferencia entre la fecha y la hora (además del formato), todos son objetos Fecha. Ahora el problema ... El número que es el valor de la fecha/hora en la hoja de cálculo es número de días desde la "época", por lo que el "tiempo" es en realidad la parte decimal del número. Si escribe 0 (cero) en su hoja de cálculo y luego selecciona el formato de fecha y hora, verá que la época es "12/30/1899 0:00:00 "en la zona horaria actual de la hoja de cálculo, es decir, en diferentes hojas de cálculo, configuradas con diferentes zonas horarias, la época puede cambiar. Y si opera el mismo valor numérico en dos hojas de cálculo (por ejemplo, usando ImportRange), lo diferente. Un comportamiento que es muy extraño para mí. No siempre fue así, pero Google pareció pensar que esto es mejor para el usuario, porque si uno cambia la configuración de la zona horaria de la hoja de cálculo, las fechas no cambiar visualmente, p. si escribe "1/1/10 14:00" en la hoja de cálculo y luego cambia la zona horaria a cualquier otra, la fecha/hora no cambiará. Todavía serán las 14:00 en la nueva zona horaria.

Ahora, en GAS la época es "1/1/1970 0:00:00 GMT + 0", ahora importa la zona horaria. Entonces, la época es diferente y probablemente la zona horaria también. Esto hace que las fechas de funcionamiento entre GAS y la hoja de cálculo sean un desastre total. Para probar la Epoca de GAS, haga range.setValue (new Date (0)); "

Cuestiones relacionadas