2012-02-20 2 views
4

так, мне нужно отформатировать дату JSON из этого форматаКак форматировать дату JSON?

"9/30/2010 12:00:00 AM", то есть MM/DD/YYYY HH: MM: SS форматировать так: DD/MM/YYYY, так что я не нужна информация о часах, минутах и ​​секундах, и мне нужно заменить месяцы и дни с JSON, я попробовал несколько различных способов, но это всегда не удалось

мне нужно сделать это с помощью JQuery

также я не нашел ответа на создание этого типа даты, все, что я нашел, составлял дату, как это : /Дата (1224043200000)/

У кого-нибудь есть идея?

+4

Там нет понятия, как дату JSON. Вам нужен JavaScript-объект 'Date'? –

+0

Что такое '/ Date (1224043200000) /'? –

+5

Нет ничего такого, как «JSON date», то есть JSON не имеет типа данных для дат. –

ответ

4

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

var myDate = new Date(dateString); 

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

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

вы можете найти больше в этом elated.com article "working with dates"

+0

Вам нужно избежать косой черты в вашей строке. '+" \\ "+'. –

+0

oh, duh .... thanks @Rocket – JKirchartz

+0

thx это может быть так, я попробую это tommorow – hullfan

-2

попробовать что-то вроде этого:

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

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

+2

Вы должны добавить базу в 'parseInt':' parseInt (x, 10) '. –

+3

Я думаю, вы заметите, что OP хотел получить дату из строки даты в формате MM/DD/YYYY HH: MM: SS, а не '/ Date (ticks) /' format. – lsuarez

+0

substr не подходит для меня, cos substr просто вырезает остальную часть строки, поэтому он разрезает все после 7-го символа, но иногда количество символов не одинаковое все время, формат даты cos может быть примерно таким: 1/2/2012 (8 символов), и иногда это может быть 31/10/2011 (10 символов) – hullfan

0

К сожалению, ваш «от» DateFormat не один, который является реализацией независимой в 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; 
}); 
-1

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

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(); 
Смежные вопросы