2012-04-17 16 views
6

Mam json daty jak \/Date(1334514600000)\/ w mojej odpowiedzi i kiedy konwertuję to w javascript wtedy dostałem tę datę Tue Apr 17 2012 11:37:10 GMT+0530 (India Standard Time), , ale potrzebuję formatu daty jak 17/04/2012 i zawodzę za każdym razem. Czy ktoś może mi powiedzieć, jak mogę to rozwiązać?Jak sformatować datę json w formacie dd/mm/yy w javascript?

+0

proszę pokazać nam swój kod. – UVM

+0

Istnieje już wiele odpowiedzi na to w przypadku przepełnienia stosu. – row1

+0

Sprawdziłem większość odpowiedzi, ale żadna nie działa dla mnie :-( – andy

Odpowiedz

12

Nie sądzę, że pozostałe zamieszczone odpowiedzi są całkiem poprawne, już zaakceptowałeś je jako workin g dla ciebie, więc nie będę go edytować.

Oto zaktualizowana wersja zaakceptowanej odpowiedzi.

var dateString = "\/Date(1334514600000)\/".substr(6); 
var currentTime = new Date(parseInt(dateString)); 
var month = currentTime.getMonth() + 1; 
var day = currentTime.getDate(); 
var year = currentTime.getFullYear(); 
var date = day + "/" + month + "/" + year; 
alert(date); 

Wykorzystuje technikę z tego answer wyodrębnić epokę od daty JSON.

+0

Możesz również użyć 'var date = new Date (+ dateString.match (/ \ d + /) [0]);' aby przekonwertować czas na data. Należy jednak zachować ostrożność, ponieważ obiekt daty znajduje się w strefie czasowej systemu, w którym wykonywany jest kod. – RobG

+0

Dziękuję za to pytanie i odpowiedź! –

0
var currentTime = new Date() 
var month = currentTime.getMonth() + 1 
var day = currentTime.getDate() 
var year = currentTime.getFullYear() 
var date = day + "/" + month + "/" + year 
alert(date); 
+0

Próbuję tego, ale to nie działa var currentTime = new Data ($ ("wejście ") .val()); var miesiąc = currentTime.getMonth() + 1 var day = currentTime.getDate() var rok = currentTime.getFullYear() var date = dzień +"/"+ miesiąc +"/"+ rok alert (data); – andy

0

Za odpowiedź na swoje pytanie ...

zbudować obiekt datę z datownika

var currentTime = new Date(1334514600000) 
var month = currentTime.getMonth() + 1 
var day = currentTime.getDate() 
var year = currentTime.getFullYear() 
var date = day + "/" + month + "/" + year 
alert(date);​ 

działa

http://jsfiddle.net/ChgUa/

+0

Brakuje kroku, w którym konwertujesz' \/Date (1334514600000) \/'na' new Date (1334514600000) ' – row1

+0

i zacytowałem e kod z Elvisa nie z pytania;) –

+1

tak, ty poprawny wiersz1 – andy

0

Znalazłem bardzo pomocny wiersz1 odpowiedź, jednak utknąłem na format dla typu wejściowego = "data", jak tylko zwraca jeden ciąg znaków dziesiętnych poniżej 10, udało mi się zmodyfikować do pracy na typ wejścia = "data" , ja w zasadzie dostosowany kod z row1 do kodu z linku http://venkatbaggu.com/convert-json-date-to-date-format-in-jquery/

udało mi przez jQuery .val dodać datę do wejścia

var dateString = "\/Date(1334514600000)\/".substr(6); 
var currentTime = new Date(parseInt(dateString)); 
var month = ("0" + (currentTime.getMonth() + 1)).slice(-2); 
var day = ("0" + currentTime.getDate()).slice(-2); 
var year = currentTime.getFullYear(); 
var date = year + '-' + month + '-' + day; 
alert(date); 
0
//parse JSON formatted date to javascript date object 
var bdate = new Date(parseInt(emp.Birthdate.substr(6))); 

//format display date (e.g. 04/10/2012) 
var displayDate = $.datepicker.formatDate("mm/dd/yy", bdate); 
Powiązane problemy