Манипулирование датой с временной строкой - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь изменить некоторые сценарии, которые принимают записи электронной таблицы, для создания событий календаря, и у меня возникают трудности с форматированием времени.По сути, моя проблема в том, что мои времена будут представлены в виде строки, и мне нужно правильно прикрепить это к новому формату даты.

timetext = "9:30 AM"

Код:

function createBlock(timetext, duration){

var eventTitle = "Code Block - Interrupt OK";  
var date = new Date();
var eventStart = new Date(timetext);
Logger.log(date);
Logger.log(eventStart);

Логгер говорит:

"[19-02-06 12: 57: 48: 097 PST] Ср 06 февраля 15:57:48 GMT-05: 00 2019

[19-02-06 12: 57: 48: 098 PST] Ср. 31 декабря 19:00:00 GMT-05: 00 1969 "

eventStart.setYear(date.getYear());    
Logger.log(eventStart);

Приводит к:

[19-02-06 12: 57: 48: 098 PST] Вт Янв 01 00:00:00 GMT-05: 00 2019

Чтосовсем не ожидаемое поведение.

Я хочу создать действительную функцию Date () на сегодняшний день с вводом строкового времени, например, «9:30 AM».

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете использовать конструктор Date для создания любой необходимой даты:

function todaysDateWithMyTime(hours, minutes) {
  var hours=hours || 9;//added for testing
  var minutes=minutes || 30;//added for testing
  var d=new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate(),hours, minutes);
  var s=Utilities.formatDate(d, Session.getScriptTimeZone(), "MMM dd yyyy hh:mm a");
  Logger.log(s);//debugging
  return s;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...