2011-04-19 29 views
18

Tengo un archivo JSON que devuelve "date_created":"1273185387" en formato épocajquery convertir número a la fecha?

Quiero convertirlo en algo como esto Thu, 06 May 2010 22:36:27 GMT

cualquier secuencia de comandos para hacer esta conversión?

Respuesta

38
var myObj = $.parseJSON('{"date_created":"1273185387"}'), 
    myDate = new Date(1000*myObj.date_created); 

console.log(myDate.toString()); 
console.log(myDate.toLocaleString()); 
console.log(myDate.toUTCString()); 

http://jsfiddle.net/mattball/8gvkk/

+0

Supperbbbb trabajo ... !!!! –

+0

¿Te preguntas por qué necesitas multiplicar por 1000? – daehaai

+2

@daehaai porque el constructor 'Date' espera epoc millis, pero el ejemplo de JSON está en segundos de época. –

8

Pruebe el código de abajo ...

var myDate = new Date(your epoch date *1000); 
    alert(myDate.toGMTString()); 
    var mytime=myDate.toGMTString() 
6
alert(new Date(1273185387).toUTCString()); 
3

jQuery no tiene nada por ella, pero eso está bien, porque hace JavaScript. El constructor Date acepta un valor de milisegundos-desde-el-Época, por lo que en su caso (ya que se parece a un valor segundos) sería:

var dt = new Date(obj.date_created * 1000); 

... donde obj es el resultado de deserializar que JSON cuerda.

Detalles en la Sección 15.9.3.2 de the specification. Alternativamente, the MDC page es útil.

1

http://jsfiddle.net/y3Syc/1/

var data = {"date_created":"1273185387"}; 
var date = new Date(parseInt(data.date_created, 10) * 1000); 
// example representations 
alert(date); 
alert(date.toLocaleString());