Как отформатировать дату в формате JSON? - PullRequest
4 голосов
/ 20 февраля 2012

Итак, мне нужен формат JSON даты из этого формата

«30.09.2010, 12:00:00», это ММ / ДД / ГГГГ ЧЧ: ММ: СС для форматирования следующим образом: ДД / ММ / ГГГГ , поэтому мне не нужна информация о часах, минутах и ​​секундах, и мне нужно заменить месяцы и дни от json, я пробовал несколько разных способов, но это всегда не удавалось

Мне нужно сделать это, используя jQuery

также я не нашел никакого ответа на форматирование этого типа даты, все, что я нашел, было форматированием даты, подобной этой: / Date (1224043200000) /

так у кого есть идеи?

Ответы [ 4 ]

4 голосов
/ 20 февраля 2012

вы можете создать объект Date из строки, например, так:

var myDate = new Date(dateString);

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

var output = myDate.getDate() + "\\" +  (myDate.getMonth()+1) + "\\" + myDate.getFullYear();

Вы можете найти больше на этой elated.com статье "Работа с датами"

0 голосов
/ 06 апреля 2016

Код ниже решил мою проблему:

var date = new Date(parseInt(d.data[i].dtOrderDate.replace("/Date(", "").replace(")/", ""), 10));
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();
0 голосов
/ 20 февраля 2012

К сожалению, ваш формат даты "from" не является независимым от реализации в JavaScript. А все остальные форматы зависят от реализации, что означает, что даже если этот формат будет понят большинством реализаций, я / вы не можете быть уверены, например, как будет обрабатываться порядок DD и MM (я почти уверен, что это будет быть зависимым от местных региональных настроек). Поэтому я бы порекомендовал использовать сторонний (или написанный от руки) анализатор даты, чтобы получить объект Date из вашей входной строки. Один такой парсер вы можете найти здесь: http://www.mattkruse.com/javascript/date/

Поскольку ваш вопрос для меня не ясен на 100%, возможно, у вас есть дата в формате / Date (число) /, что предполагает, что вы вызываете службу ASP.Net из своего кода jQuery. В этом случае во время анализа JSON вы можете преобразовать его в объект Date:

data = JSON.parse(data, function (key, value) {
    // parsing MS serialized DateTime strings
    if (key == '[NAME_OF_DATE_PROPERTY_IN_THE_JSON_STRING]') {
        return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
        // maybe new Date(parseInt(value.substr(6))) also works and it's simpler
    }
    return value;
});
0 голосов
/ 20 февраля 2012

Попробуйте что-то вроде этого:

var date = new Date(parseInt(jsonDate.substr(6))); 

где jsonDate - переменная, в которой хранится ваша дата

...