Ir al contenido principal

Rocha:Constantes tipo fecha

En la Rocha se soportan constantes del tipo fecha o fecha-hora con formato ANSI/ISO (AAAA-MM-DD HH:MM:SS). 

Tecnicamente (Sintáxis):

<date>::=
   [0-9]{1,4}"/"[0-9]{1,2}"/"[0-9]{1,2}
| [0-9]{1,4}"."[0-9]{1,2}"."[0-9]{1,2}
| [0-9]{1,4}"-"[0-9]{1,2}"-"[0-9]{1,2}

<hms>::=
   [0-9]{1,2}[ap]
| [0-9]{1,2}":"[0-9]{1,2}[ap]?
| [0-9]{1,2}":"[0-9]{1,2}":"[0-9]{1,2}[ap]?

<constant> ::=
  "#"<date>"#"
| "#"<date> <hms>"#"
| "#"<hms>"#"

Funcionalmente

Se pueden utilizar esas constantes en las reglas, eventos, propiedades, etc (todo lugar donde se utilice el parser):

Algunos ejemplos básicos:

&FechaInicial=#2007-01-01#

&FechaHoraInicial=#07-1-1 11:15a#

&HoraInicial=#11a#

Me parece bueno no tener que escribir funciones (CTOD, TTOC) sobre constantes tipo char para lograr una fecha y mucho mejor aun en el caso de una hora o fecha/hora donde suelen ser más complicadas.

¿a partir de cuando? alguna liberación posterior al 6/Marzo/2007.

Notas:

Se aplica el Year Limit para el caso que la constante no incluya los 4 dígitos en el año

En el caso de querer asignar algo como el "lowvalue" lo mejor sigue siendo asignar algo del estilo: &DateX=NullValue(&DateX) porque eventualmente una constante no es soportada por el DBMS. Por ejemplo si asigno #0001-01-01# en SQL no es soportado (la fecha mínima es 01/Enero/1753) por lo cual dará error en ejecución.

Comentarios

  1. Un comentario relacionado con la Rocha y el manejo de Fechas (relacionado con xml)
    Estaria bueno que al grabar fechas en archivos XML con las funciones de manejo de XML de Genexus, se utilizara el formato ISO 8601, con el "T" incluido para separar los tiempos de las fechas. De esta forma se lograría mejorar la interoperabilidad de los xml generados.

    Mas informacion en http://www.w3.org/TR/NOTE-datetime

    Hoy (con la 9.0) lo hacemos a mano.

    ResponderBorrar
  2. Un comentario relacionado con la Rocha y el manejo de Fechas (relacionado con xml)
    Estaria bueno que al grabar fechas en archivos XML con las funciones de manejo de XML de Genexus, se utilizara el formato ISO 8601, con el "T" incluido para separar los tiempos de las fechas. De esta forma se lograría mejorar la interoperabilidad de los xml generados.

    Mas informacion en http://www.w3.org/TR/NOTE-datetime

    Hoy (con la 9.0) lo hacemos a mano.

    ResponderBorrar
  3. Gracias por el link, incluso me acodava que llevaba la T, pero no la podía encontrar.
    Respecto al tema del formato en el XML, es un tema "ortogonal", sin embargo pega en el palo de otros cambios al respecto (de XML y WServices) asi que seguramente algo de eso saldrá en el futuro. Como siempre: las pelotas que pegan en el palo pueden entrar o salir ;)

    ResponderBorrar
  4. Gracias por el link, incluso me acodava que llevaba la T, pero no la podía encontrar.
    Respecto al tema del formato en el XML, es un tema "ortogonal", sin embargo pega en el palo de otros cambios al respecto (de XML y WServices) asi que seguramente algo de eso saldrá en el futuro. Como siempre: las pelotas que pegan en el palo pueden entrar o salir ;)

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Abrir links con aplicaciones nativas y no el browser (deeplinking)

El problema que tengo con algunas aplicaciones Android/iOS es que cuando recibo un link por algún medio (mail, tweet, etc) al abrirlo me lo abre con el browser, en lugar de abrirlo con una aplicación nativa asociada a ese “contenido”. Por ejemplo, si recibo un link a un tweet espero que lo abra con alguna aplicación de twitter que tenga instalada y no con el browser. De modo análogo si recibo un mail con una nota de prensa de un medio X y tengo la aplicación de ese medio X instalada, espero que el link lo abra con la aplicación nativa y no con el browser. Lo mismo quisiera con mi aplicación de "banking" o cualquiera que tenga instalada y sepa manejar ese "contenido" (link). Los motivos son bastante obvios pero los resumo en: la experiencia de usuario es mucho mejor en la aplicación nativa que en el navegador. Parte importante del tema es que el mismo link sea válido tanto para ver el contenido en el browser como para verlo en la aplicación, porque como prove...

4 Pasos para la toma/ejecución de decisiones

(Habia escrito toda una argumentación pero me quedó muy largo así que vamos al grano) En algunas situaciones me pasa que se mezcla la toma de decisiones con su, necesariamente posterior, ejecución y termina en un desastre porque se implementa lo que no se decidió o no se implementa lo que sí se decidió, etc. Sobre todo pasa cuando se trabaja en equipo y para algunos se está en la etapa de decisión, para otros en ejecución y en cierto modo eventualmente se está resolviendo un problema del cual estamos cambiando la letra o por lo menos dudando de ella. En resumen: decisión y ejecución van de la mano. No significa que la ejecución sea inmediata ni esté perfectamente detallada, que no cambiemos la decisión una vez que estamos ejecutando, pero si no van de la mano suenan a las decisiones de "año nuevo" (comer mejor, hacer más deporte, etc). Hay mucho escrito sobre buenas decisiones, proceso para eso, proceso de planificación, ejecución, seguimiento, actores a involucrar, ...

Mi primer chatbot con whatsapp

No voy a hacer "apología de whatsapp" pues es claro para todos que es una herramienta de comunicación que todo el mundo (al menos occidental) tiene y usa a diario. Siendo así ¿que tal si mi aplicación pudiera responder por ese medio? ¿Qué skills necesitaría? ¿Qué otros recursos? Revisé algunos contenidos al respecto, por cierto los recomiendo, especialmente los producidos en el GX29:  https://meetings.genexus.com/2019/sessions/chatbots Es tremendo lo que se puede hacer alrededor del tema. Sin embargo lo que yo quería era algo bien sencillo, no quería tanto la parte de NLP (PLN), IA, etc que es un camino muy interesante pero que implicaba más trabajo y lo mio era explorar, divertirme, hacer algo útil y aprender en el camino (algunos le llaman "procastinar":)). Quería probar la utilidad de "dialogar" con mi aplicación vía Whatsapp, generar otras ideas a partir de ver y sentir algo funcionando, resolviendo un problema real, un prototipo de bajo costo....