2012-04-17 487 views
6

Tengo una fecha json como \/Date(1334514600000)\/ en mi respuesta y cuando la convierto en javascript tengo esta fecha Tue Apr 17 2012 11:37:10 GMT+0530 (India Standard Time), pero necesito el formato de fecha como 17/04/2012 y fallo siempre. ¿Alguien puede decirme cómo puedo resolverlo?¿Cómo puedo formatear una fecha json en formato dd/mm/aa en javascript?

+0

favor mostrar su código. – UVM

+0

Ya hay muchas respuestas para esto en el desbordamiento de pila. – row1

+0

me han revisado la mayoría de las respuestas, pero ninguna ha funcionado para mí :-( – andy

Respuesta

12

no creo que las otras respuestas publicadas son bastante acertadas, ya has aceptado una como workin g para ti, así que no voy a editarlo.

Aquí hay una versión actualizada de su respuesta aceptada.

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

Se utiliza una técnica de este answer para extraer la época partir de la fecha de JSON.

+0

También puede usar 'var date = new Date (+ dateString.match (/ \ d + /) [0]);' para convertir el tiempo en fecha. Tenga cuidado ya que el objeto de fecha estará en la zona horaria del sistema donde se ejecuta el código. – RobG

+0

¡Gracias por esta pregunta y respuesta! –

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

Estoy intentando esto pero no está funcionando var currentTime = new Date ($ ("input ") .val()); var month = currentTime.getMonth() + 1 var day = currentTime.getDate() var year = currentTime.getFullYear() var date = day +"/"+ month +"/"+ año alerta (fecha); – andy

0

respuesta a su pregunta ...

Construir el objeto de fecha con su marca de tiempo

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

funciona

http://jsfiddle.net/ChgUa/

+0

Falta el paso donde convierte' \/Date (1334514600000) \/'a' new Date (1334514600000) ' – row1

+0

Estaba citando th e código de Elvis no de la pregunta;) –

+1

sí usted r corregir row1 – andy

0

Me pareció muy útil la respuesta row1, sin embargo me quedé atrapado en el formato para input type = "date" como solo devuelve una cadena para decimales menores de 10, pude modificar para trabajar en input type = "date" , básicamente me he adaptado el código de fila1 al código desde el enlace http://venkatbaggu.com/convert-json-date-to-date-format-in-jquery/

yo era capaz través de jQuery .val añadir la fecha a la entrada

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