Получить "день" из этой отформатированной метки времени в Javascript - PullRequest
1 голос
/ 10 июня 2019

Я работаю с Javascript в Google Sheets, и у меня возникают проблемы с преобразованием или анализом отформатированной метки времени, чтобы в конечном итоге извлечь день в виде числового значения.

Мой код:

var shopifyTimestamp = "2019-05-18 13:21:17 +0100";

var date = new Date(shopifyTimestamp);

Logger.log(date.getDay());

Выходные данные:

[19-06-10 17:40:56:107 BST] NaN

Моя цель - извлечь номер дня, например, "18" из этой отметки времени.

Однако, похоже, его не конвертируют.Я подозреваю, что моя метка времени не в правильном формате для функции date(), так что речь идет о создании функции для ее анализа.

Надеюсь, вы поможете мне с этим!:) Огромное спасибо.

Ответы [ 3 ]

0 голосов
/ 10 июня 2019

18 - дата.

var shopifyTimestamp ="2019-05-18 13:21:17 +0100";
var date = new Date(shopifyTimestamp);

console.log(date.getDate());
0 голосов
/ 10 июня 2019

Конструктор JavaScript Date поддерживает строки даты ISO 8601 . Без использования каких-либо библиотек вы можете сделать что-то вроде этого:

var shopifyTimestamp = "2019-05-18 13:21:17 +0100";

// will produce `2019-05-18T13:21:17+0100`
var isoDate = shopifyTimestamp.slice(0, 10)
    + 'T' + shopifyTimestamp.slice(11, 19)
    + shopifyTimestamp.slice(20);

var date = new Date(isoDate);

console.log(date.getDate()); // 18

Также обратите внимание, что вы ищете date.getDate(), а не date.getDay(). Последний возвращает числовую дату недели.

0 голосов
/ 10 июня 2019

У объекта date есть такой метод для получения дня месяца в виде числа (1-31).

date.getDate();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...