Объединение даты и времени в DateTime с помощью Google Scripts - PullRequest
0 голосов
/ 26 апреля 2019

Мне трудно работать с объектами Date и Time в Javascript.

Начиная с файла CSV, он содержит значения "12/3/2019" и "14:00:00" вдве разные ячейки, и я импортирую эти значения с SpreadsheetApp.open() для CSV-файла.

Теперь кажется, что объект Date имеет желаемую дату с неправильным временем (11:00 вместо 14:00).Однако объект Date для времени (14:00:00) получен неправильно:

Если для time установлено значение «14:00», импортированное командой SpreadsheetApp.open(), следующая команда

  new Date ( time )

приводит к чему-то очень странному: 12/31/1969 13:00:00.

Есть ли у кого-нибудь идеи о том, как объединить объект даты и времени в нечто, что затем может быть использовано командой CreateEvent()?

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 26 апреля 2019

Если вы передаете строку в конструктор встроенного объекта 'Date' , параметр должен иметь формат, читаемый методом Date.parse () .Поэтому, если вы планируете анализировать даты из строк, создайте полученную строку, используя следующий шаблон

2011-10-10T14:48:00

, где 'T' - разделитель. Подробнее об объекте Date здесь

Вот пример построения строки шаблона.Вы можете использовать Utilities.formatDate (дата, часовой пояс, формат) в качестве ярлыка, но вы строите шаблон шаг за шагом:

   var d = new Date();

  //Date template
  var template = "YYYY-MM-DDTHH:mm:ss";

  //Year
  template = template.replace("YYYY", d.getFullYear());

  //Month. Add leading zero if required.
  template =  template.replace('MM', ("0" + (d.getMonth() + 1)).slice(-2));

  //Date. Add leading zero if required.
  template = template.replace('DD', ("0" + d.getDate()).slice(-2));

  //Hours
  template = template.replace('HH', ("0" + d.getHours()).slice(-2));

  //Minutes
  template = template.replace('mm', ("0" + d.getMinutes()).slice(-2));

  //Seconds
  template = template.replace('ss', ("0" + d.getSeconds()).slice(-2));

  Logger.log(template);

  var anotherDate = new Date(template);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...