FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#21
|
||||
|
||||
No desvirtúas nada, Antonio. GHF, como la propia VCL, emplea variables globales para algunas cosas.
Bueno, sigamos avanzando en esto. Propuesta Por un lado tendremos las funciones ISO ghISODate, ghISOTime y ghISODateTime, que usarán invariablemente el formato extendido de representación completa para fecha del calendario y hora local dado por el estándar ISO 8601; mirar estas tablas. Las funciones ghISOXXX serán útiles donde quiera que se necesite expresar fechas y horas bajo ese formato, como es el caso de los documentos XML: Código:
<xs:attribute name="fecha" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para la expresión de la fecha y hora de expedición del comprobante fiscal. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:dateTime"> <xs:whiteSpace value="collapse" /> </xs:restriction> </xs:simpleType> </xs:attribute> ---------- <cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org /2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx /sitio_internet/cfd/3/cfdv3.xsd http://www.sat.gob.mx/TimbreFiscalDigital TimbreFiscalDigital.xsd" version="3.0" folio="4009" fecha="2011-11-14T09:21:00" [...]
Las tres últimas, ghSQLDate, ghSQLTime y ghSQLDateTime serán "configurables" mediante tres variables globales de tipo String: GHSQLDateFormat, GHSQLTimeFormat, y GHSQLDateTimeFormat, cuyos valores predeterminados serán 'yyyy-mm-dd', 'hh:nn:ss' y 'yyyy-mm-dd hh:nn:ss' (espacio intermedio y no T), respectivamente. No porque sean los que Firebird acepta incondicionalmente, sino porque todos los motores SQL debieran admitirlo sin protestar, ¿me ayudan por favor a corroborar o refutar esta última afirmación? Si quisiéramos prescindir de las variables globales, habría que declarar parámetros de formato para fechas y horas en todas las funciones del diagrama anterior. Eso sería engorroso y la aplicación consumiría un poco más de recursos, además de que llamar a tales funciones con valores de fecha y hora, y hacerlo con formatos distintos a los del estándar SQL, sería probablemente lo menos frecuente. ¿Vamos bien? Última edición por Al González fecha: 15-04-2013 a las 20:03:12. |
#22
|
||||
|
||||
Cita:
------ PD: Segun http://www.postgresql.org/docs/9.1/s...-datetime.html Cita:
Código:
ISO ISO 8601/SQL standard 1997-12-17 07:37:16-08 SQL traditional style 12/17/1997 07:37:16.00 PST POSTGRES original style Wed Dec 17 07:37:16 1997 PST German regional style 17.12.1997 07:37:16.00 PST Con respecto a probar cada estilo en BD, lo que yo hago es que lo defino con comandos como SET DATEFORMAT o su similar. Cuando el motor no tiene algo asi (ej: FoxPro) uso una funcion (ej: Date(2003,1,1) y en el *peor* de los casos el formato de acuerdo al locale de la BD. El punto que no deje claro antes y que ahora por fin lo logro articular (y que se desprende del principio de la robustes) es que si la cadena de fecha es una "salida" se puede definir el formato que mejor parezca (ya sea el ISO, si es pa pasar entre programas, y el "SQL" para mostrar a humanos) pero en este caso de uso en particular se envia como una "entrada" y por lo tanto, no se puede garantizar que vaya a funcionar, en *todos* los motores. En los motores principales (Sql Server, Postgres, MySql) va a funcionar (ya chequee los docs). Osea, en resumen... dejalo asi como lo has pensado..
__________________
El malabarista. |
#23
|
||||
|
||||
Acabo de subir la actualización de abril (archivo GHFreebrary_Delphi7_20130419.zip) con los cambios que aquí se trataron. Todo lo concerniente al tema de este hilo quedó resuelto dentro de la unidad GHFRTL.pas. Siéntanse con la libertad de examinarla, aprovecharla y compartir sus opiniones.
Un agradecimiento a beginner01, ElKurgan, mamcx y Casimiro Notevi. Sigamos avanzando en los otros temas. Al González. Última edición por Al González fecha: 27-04-2013 a las 07:07:46. |
#24
|
||||
|
||||
Una nota más: Las funciones mencionadas ya se encuentran disponibles y probadas también en el paquete para XE2.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda sobre manejo de fechas | francodelphi | Conexión con bases de datos | 12 | 27-10-2011 01:22:15 |
Como definir Funciones Globales | destrukthor | Varios | 4 | 07-07-2006 14:12:18 |
Problemas al definir UDF (Funciones en una DLL) | pcicom | Firebird e Interbase | 2 | 21-06-2006 05:49:15 |
Definir funciones y procedimientos en FastReport???? | burasu | Impresión | 1 | 16-05-2005 21:47:37 |
Sobre actualizaciones de programas y estándar x2 | obiwuan | Humor | 0 | 06-05-2003 22:04:07 |
|