sistemas sistema resumen quien primer por operativos operativo nombre los historia generaciones creo flex actionscript-3 actionscript flex3 timestamp

flex - resumen - sistemas operativos



El constructor Flex Date() está convirtiendo incorrectamente las marcas de tiempo de Unix argh (4)

Esto me está matando en serio. Estoy tratando de convertir una marca de tiempo Unix (1236268800, que equivale a Jue, 05 Mar 2009 16:00:00 GMT) a un objeto Date en Flex.

var timestamp:Number = 1236268800; trace(new Date(timestamp)); Output: Wed Jan 14 23:24:28 GMT-0800 1970

También intenté esto:

var timestamp:Number = 1236268800; var date:Date = new Date; date.time = timestamp; trace(date); Output: Wed Jan 14 23:24:28 GMT-0800 1970

Cualquiera de esos métodos debería funcionar. ¿Qué estoy haciendo mal aquí?


Dado que se analiza en milisegundos, simplemente multiplique el valor de época por 1000:

trace(new Date(1236268800 * 1000)); // Thu Mar 5 08:00:00 GMT-0800 2009


En AS3, el constructor Date () toma un valor en milisegundos, mientras que el tiempo de Unix está en segundos. Prueba esto:

var timestamp:Number = 1236268800; trace(new Date(timestamp * 1000));


tienes que convertir a milisegundos, multiplica eso por 1000


http://livedocs.adobe.com/flex/2/langref/Date.html#Date ()

Si pasa un argumento de tipo de datos Número, al objeto Fecha se le asigna un valor de tiempo basado en el número de milisegundos desde el 1 de enero de 1970 0: 00: 000 GMT, según lo especificado por el único argumento.

Debes multiplicar tu número por 1000.