Преобразование результатов json в дату [дубликат]
Возможные Дубликаты:
как отформатировать дату JSON?
У меня есть следующий результат от вызова $getJSON из JavaScript. Как преобразовать свойство start в соответствующую дату в JavaScript?
[ {"id": 1, "start": "/ Date(1238540400000)/"}, {"id": 2, "start": "/ Date(1238626800000)/"} ]
спасибо!
4 ответа:
вам нужно извлечь номер из строки и передать его в дату
constructor
:var x = [{ "id": 1, "start": "\/Date(1238540400000)\/" }, { "id": 2, "start": "\/Date(1238626800000)\/" }]; var myDate = new Date(x[0].start.match(/\d+/)[0] * 1);
детали:
x[0].start - get the string from the JSON x[0].start.match(/\d+/)[0] - extract the numeric part x[0].start.match(/\d+/)[0] * 1 - convert it to a numeric type new Date(x[0].start.match(/\d+/)[0] * 1)) - Create a date object
Я использую этот:
function parseJsonDate(jsonDateString){ return new Date(parseInt(jsonDateString.replace('/Date(', ''))); }
если вы используете jQuery
в случае, если вы используете jQuery на стороне клиента, вы можете быть заинтересованы в этот блог это предоставляет код, как глобально расширить jQuery
$.parseJSON()
функция автоматического преобразования дат для вас.вы не должны изменить существующий код в случае добавления этого кода. Это не влияет на существующие вызовы
$.parseJSON()
, а если вы начнете использовать$.parseJSON(data, true)
, дата вdata
строка будет автоматически преобразована в Javascript даты.он поддерживает Asp.net строки даты:
/Date(2934612301)/
а также строки ISO2010-01-01T12_34_56-789Z
. Первый из них наиболее распространен для наиболее часто используемой серверной веб-платформы, второй используется поддержкой собственного браузера JSON (а также другими клиентскими библиотеками JSON, такими как json2.js).в любом случае. Зайдите в блог, чтобы получить код. http://erraticdev.blogspot.com/2010/12/converting-dates-in-json-strings-using.html