2012-04-17 16 views
6

Ho una data JSON come \/Date(1334514600000)\/ nella mia risposta e quando la converto in javascript ho ottenuto questa data Tue Apr 17 2012 11:37:10 GMT+0530 (India Standard Time), ma ho bisogno del formato della data come 17/04/2012 e non riesco ogni volta. Qualcuno può dirmi come posso risolverlo?Come posso formattare una data JSON nel formato gg/mm/aa in javascript?

+0

Vi preghiamo di mostrare il vostro codice. – UVM

+0

Ci sono già molte risposte per questo su overflow dello stack. – row1

+0

ho controllato la maggior parte della risposta ma nessuno ha funzionato per me :-( – andy

risposta

12

non credo che le altre risposte pubblicate sono giuste, ne hai già accettato una come workin g per te quindi non lo modificherò.

Ecco una versione aggiornata della risposta accettata.

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); 

Esso utilizza una tecnica da questo answer per estrarre l'epoca a partire dalla data JSON.

+0

Puoi anche usare 'var date = new Date (+ dateString.match (/ \ d + /) [0]);' per convertire il tempo in un Data. Attenzione però poiché l'oggetto data sarà nel fuso orario del sistema in cui viene eseguito il codice. – RobG

+0

Grazie per questa domanda e risposta! –

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

Sto provando questo, ma non funziona var currentTime = new Date ($ ("input ") .val()); var month = currentTime.getMonth() + 1 var day = currentTime.getDate() var year = currentTime.getFullYear() var date = giorno +"/"+ mese +"/"+ anno avviso (data); – andy

0

risposta alla vostra domanda ...

costruire l'oggetto data con il vostro timestamp

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);​ 

funziona

http://jsfiddle.net/ChgUa/

+0

Ti manca il passaggio in cui converti' \/Date (1334514600000) \/'in' new Date (1334514600000) ' – row1

+0

stavo citando th codice da Elvis non dalla domanda;) –

+1

sì è corretto row1 – andy

0

Ho trovato molto utile la risposta di riga1, tuttavia mi sono bloccato sul formato per tipo di input = "data" poiché restituisce solo una stringa per i decimali inferiori a 10, sono stato in grado di modificare per lavorare su input type = "date" , ho praticamente adattato il codice row1 al codice dal link http://venkatbaggu.com/convert-json-date-to-date-format-in-jquery/

sono stato in grado attraverso jquery .VAL aggiungere la data all'ingresso

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); 
Problemi correlati