Следующая строка была возвращена из форматированного объекта ответа JSON, и я хочу проанализировать ее на что-то полезное:/Date (1283457528340)/Как мне преобразовать это JSON datetime?
Как его разобрать, используя JavaScript, в нечто удобное?
Следующая строка была возвращена из форматированного объекта ответа JSON, и я хочу проанализировать ее на что-то полезное:/Date (1283457528340)/Как мне преобразовать это JSON datetime?
Как его разобрать, используя JavaScript, в нечто удобное?
Это количество миллисекунд с начала отсчета.
Эта функция извлекает номер из строки и возвращает объект Date, созданный с этого временного номера.
function dateFromStringWithTime(str) {
var match;
if (!(match = str.match(/\d+/))) {
return false;
}
var date = new Date();
date.setTime (match[0] - 0);
return date;
}
Например,
console.log(dateFromStringWithTime('/Date(1283457528340)/').toString());
Выход:
Fri Sep 03 2010 02:58:48 GMT+0700 (ICT)
Предпочтительно поддерживать фигурные скобки ('{}') вокруг блоков результатов оператора if, чтобы поддерживать абсолютную совместимость, несмотря на то, что стандарт позволяет нам опустить их. –
Спасибо за предложение. :) – Thai
Работал как CHAMP! БЛАГОДАРЯ! –
Зависит. Что представляет собой это значение? Предполагая миллисекунды временной отметки UNIX (скорректируйте в противном случае), вы можете извлечь значение, затем применить parseInt
и построить с ним новый объект Date
.
var str = "/Date(1283457528340)/";
var matches = str.match(/([0-9]+)/);
var d = parseInt(matches[0]);
var obj = new Date(d);
Затем вы должны быть в состоянии использовать Date
объект в обычном режиме. Это непроверено и может иметь опечатки/ошибки, но идея должна быть надежной.
Edit:matches[1]
->matches[0]
Также обратите внимание, что я не выполняю никаких проверок или обработки ошибок здесь. –
Можете ли вы предоставить другие полезные детали в этой должности? Это временная метка Unix? Является ли он кодировкой UTC и должен быть преобразован в локальное время? Действительно ли он возвращается как эта строка '/ Date (...) /', и вам нужно разобрать цифры? – jcolebrand