lunes, 26 de abril de 2010

Trabajar con Fechas en Flex.

Las fechas son siempre un tema importante en cualquier lenguaje de programación y Flex lo sabe por lo cual nos proporciona dos clases para trabajar con ellas.

Las clases son DateField y DateFormatter.la primer nos proporciona la fecha actual y la segunda nos sirve para parsear la fecha y adaptarla a nuestras necesidades. Para que quede más claro pondré un ejemplo práctico.

Asi queda el ejemplo ya terminado.




Bien pues lo primero que tenemos que hacer es crear un nuevo proyecto, despues agregarle controles. pongo el codigo y a su vez la explicación:


  





//Arreglo para manipula los dias
private var dias:Array = new Array("Domingo","Lunes",
"Martes", "Miercoles", "Jueves", "Viernes", "Sabado");

//Arreglo para manipular los meses
private var meses:Array = new Array("Enero", "Febrero",
"Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto",
"Septiembre", "Octubre", "Noviembre", "Diciembre");

//me devuelve la fecha actual del sistema
private var fecha:Date= new Date();

//se ejecuta al elejir una fecha.
private function onChange():void
{
//pedimos la fecha con el metodo selectedDate
txtsinParsear.text=""+miFecha.selectedDate;

//pedimos la fecha con el metodo .tex
txtMetodoText.text=miFecha.text;

//aplicamos el formato a la fecha
txtParseado.text=formatDate.format(miFecha.text);

//generamos una cadena para la fecha larga
fechaLarga.text= dias[fecha.day]+" , "+fecha.date
+ " de " +meses[fecha.month]+ " de " +fecha.fullYear;
}
]]>



change="onChange();" id="miFecha"/>



fontSize="20" color="#000000"/>
fontSize="20" color="#000000"/>
fontSize="20" color="#000000"/>
fontSize="20" color="#000000"/>
fontSize="20" color="#000000"/>
height="36" color="#000000" fontSize="24" id="fechaLarga"/>

//elemento DateFormatter para formatear la fecha.







como pueden ver no es dificil trabajar con las fechas lo que queda ahora es que juguen con las multiples conbinaciones de los metodos que les acabo de proporcionar y obtengan el resultado deseado.

si quieren un determinado formato de fecha o simplemente comentar haganlo y les contestare en el mismo dia.

4 comentarios:

  1. Hola José! que buen ejemplo de fechas... en verdad estoy un tanto enredada con esto, estoy trabajando con Flex Air por ende con base de datos...
    Como podría contactarme para hacerte una consulta? es que en definitiva no se cual es la mejor manera de inserción (al grabar el registro) y cual es lo mejor al hacer una búsqueda (lectura del registro) y hace días que estoy buscando en la web pero ningún ejemplo completo que abarque lo que necesito.

    Muy bueno el blog, ojala sigas agregando mas cosas para que sigamos compartiendo conocimiento y aprendiendo todos juntos.

    Saludos!
    Maru.-

    ResponderBorrar
  2. que tal puedes agregarme a robershadonw@hotmail.com o buen al google talk con j.roberto.leon@gmail.com, o tambien visitar mi pagina oficial http://aprendiendoflex.com saludos estoy a tus ordenes para cualquier duda.

    ResponderBorrar
  3. Buenas...

    No me aclaro, yo necesito:
    12/05/2010 09:14:35
    dd/mm/yyyy hh:mm:ss

    Pero no termino de entender el código, si pudieras facilitarme la función te lo agradecería. Es decir, no hay algo como
    devuelvefecha(date, formato); ¿?¿?

    Gracias.
    http://www.vertutoriales.com

    ResponderBorrar
  4. hola, una consulta, como hago para insertar, digamos la fechas 10/01/1978, porque veo que el datefield no me permite navegar por años con facilidad.

    ResponderBorrar