¿Cómo puedo analizar una cadena de fecha ISO en un objeto de fecha en Flex (AS3)?Cómo analizar una fecha con formato ISO en Flex (AS3)?
p. Ej.
2009-12-08T04: 23: 23Z 2009-12-08T04
: 23: 23,342 a 04: 00
etc ...
¿Cómo puedo analizar una cadena de fecha ISO en un objeto de fecha en Flex (AS3)?Cómo analizar una fecha con formato ISO en Flex (AS3)?
p. Ej.
2009-12-08T04: 23: 23Z 2009-12-08T04
: 23: 23,342 a 04: 00
etc ...
import com.adobe.utils.DateUtil;
var dateString:String = "2009-03-27T16:28:22.540-04:00";
var d:Date = DateUtil.parseW3CDTF(dateString);
trace(d);
var s:String = DateUtil.toW3CDTF(d);
trace(s);
[trace] Fri Mar 27 16:28:22 GMT-0400 2009 [trace] 2009-03-27T20:28:22-00:00
Resulta que DateUtil maneja todo en el W3C Date and Time spec. Las fechas AS3 no mantienen milisegundos, pero solo se descartarán si están disponibles.
Tenga en cuenta que la salida W3C se convierte a UTC (también conocida como GMT o Zulu).
Aquí es una implementación: http://blog.flexexamples.com/2008/02/02/parsing-iso-dates-with-flex-and-actionscript/
(ff siento solo no se muestra el botón de enlace y soy demasiado perezoso para hacerlo yo mismo.)
Date.parse() no funciona con los formatos ISO. Devolverá nulo. – Chadwick
El segundo enlace al blog flexexamples está más cerca, aunque no maneja nada más que UTC (y solo si se especifica con una "Z" final en comparación con un desplazamiento de zona horaria. ¡Gracias por ayudar a ver! – Chadwick
Ejemplo función para convertir a formato ISO Fecha
public function isoToDate(value:String):Date
{
var dateStr:String = value;
dateStr = dateStr.replace(/\-/g, "/");
dateStr = dateStr.replace("T", " ");
dateStr = dateStr.replace("Z", " GMT-0000");
return new Date(Date.parse(dateStr));
}
Es una verdadera lástima que Esta solución solo funciona con Flex debido a los paquetes necesarios de mx.formatters. Por lo tanto, si está utilizando Flash no tiene suerte. – Luke
Para usarlo sin Flex, puede copiar ese método fuera de DateUtil.as en as3corelib y pégalo en tu propia clase: http://code.google.com/p/as3corelib/source/browse/trunk/src/com/adobe/utils/DateUtil.as –