Как объединить дату и время как DateTime в сценарии электронных таблиц приложений Google Apps?

StackOverflow https://stackoverflow.com/questions/4051239

Вопрос

У меня столбец даты в формате «DD / MM / YYYY» и столбец времени в «HH: MM AM / PM» в электронной таблице приложений Google. В приложении скрипт я хочу присоединиться к этим 2 значениям в качестве DateTime. Как я могу это сделать?

Пример - дата: 13/12/2010, время: 4:30 вечера, тогда я хочу получить комбинированное значение, такое как «13/12/2010 16:30» в качестве объекта DateTime.

Я попытался проанализировать дату и время отдельно, используя Getyear, YetDay JS функций. И создал новую дату, используя

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

Но по какой-то причине «4:30» проявляется как полная странная дата, как 30 ноября 1899 10:30. Я могу точно извлечь год, день и месяц, но не часы и минуты.

Это было полезно?

Решение

Я получил это ответил в это Форум форума Google Apps.

«Во-первых, нет разницы между датой и временем (помимо форматирования), они являются всеми объектами даты. Теперь к проблеме .. Номер, который является значением даты / времени в электронной таблице, является количеством дней с момента «Эпоха», поэтому «время» на самом деле является десятичной частью числа. Если вы вводите 0 (ноль) на своей электронной таблице, а затем выберите формат DateTime, вы увидите, что эпоха «12/30/1899 0 : 00: 00 "в электронной таблице тока тока тока. Т.е. в разных таблицах, сконфигурированных с разными часовыми точками, эпоха может меняться. И если вы работаете одно и то же значение номера в двух таблице (например, с использованием ImportRange). Это очень странно для меня. Это было не всегда так, но Google, казалось, думал, что это лучше для пользователя, потому что если кто-то изменит настройки часового пояса электронной таблицы, даты не будут изменяться визуально, например, если вы напечатаете «1/1 / 10 14:00 "в таблице, а затем измените часовой пояс в любую другую, дата / время не изменится. Это все равно Быть 14:00 в новом часовом поясе.

Теперь в газе эпоху «1/1/1970 0:00:00 GMT + 0», теперь имеет значение часовой пояс. Итак, эпоха отличается и, скорее всего, часовой пояс тоже. Это делает рабочие даты между газом и электронной таблицем общего беспорядка. Чтобы проверить газовую эпоху, сделать ряд .setvalue (новая дата (0)); "

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top