Формат JSON Дата и время - PullRequest
0 голосов
/ 22 января 2020

В настоящее время все мои даты возвращаются с буквой T в моих JSON строках. Пример: 2019-02-03T06: 48: 07. Есть ли способ изменить строку JSON на 02-03-2019 06:48:07?

Я также использую javascript, чтобы загрузить текущие даты в таблицу данных.

Ответы [ 2 ]

1 голос
/ 22 января 2020

Вы можете преобразовать вашу строку в Date объект и затем отформатировать его следующим образом:

let jsonString = "2019-02-03T06:48:07";

// You should set your own timezone and options.
console.log(new Date(jsonString).toLocaleString('en-US', {hour12: false}))

Для получения дополнительной информации посетите: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString

1 голос
/ 22 января 2020

T есть, потому что это стандартный формат ISO 8601 . Это позволяет очень легко анализировать на стороне клиента:

var myDate = new Date('2019-02-03T06:48:07')

С myDate вы можете затем выполнить любое форматирование с помощью sh. Предполагая, что у вас есть другая функция для обработки лидирующих нулей, это может быть что-то вроде:

var myFormattedDate = padLeft(myDate.getMonth() + 1, '0') + '-' + 
                      padLeft(myDate.getDay(), '0') + '-'
                      myDate.getFullYear() + ' ' +
                      // etc

Обратите внимание, что вашей временной метке не хватает информации о часовом поясе. С помощью этого кода он будет интерпретироваться на стороне клиента в любом часовом поясе пользователя. Если это время UT C, то вы можете исправить это, добавив либо «Z», либо «+00: 00» к отметке времени перед синтаксическим анализом в конструкторе Date.

Если вы можете добавить библиотека для помощи, все это становится намного проще с моментом. js:

myFormattedDate = moment('2019-02-03T06:48:07').format('MM/DD/YYYY HH:mm:ss');
...