Comunidad Gambas-es
Extendiendo la clase String - Timestamp - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forum-8.html)
+--- Tema: Extendiendo la clase String - Timestamp (/thread-531.html)



Extendiendo la clase String - Timestamp - tincho - 12-08-2021

Hola a todos.
Aquí les propongo una función que genera una cadena de texto para marca temporal.
Por favor si alguien tiene una mejor idea por favor no dude en compartirla.

Código:
'' Returns a text string over time in "yyyymmddhhnnss" format. From years to seconds.

Static Public Function Timestamp(datTime As Date) As String
 
  Return Format(datTime, "yyyymmddhhnnss")
 
End
Saludos.


RE: Extendiendo la clase String - Timestamp - Shordi - 12-08-2021

Según contextos yo añadiría un parámetro boolean para incluir las milésimas de segundo y por otra parte, un el concepto de un timestamp es que se cree una marca de tiempo, es decir que marquemos lo que sea que queremos marcar con el momento concreto en que se hace. Si ese momento lo tienes que pasar a la función, se está falseando ese concepto: puedo crear las marcas que me den la gana. Imagina un registro de entrada de documentos, el timestamp protege que el orden de llegada sea el correcto. Si se puede falsear ya no es un timestamp.

Yo cambiaría
Format(datTime, "yyyymmddhhnnss")

Por
Format(Now, "yyyymmddhhnnss")

Es sólo una sugerencia.

Saludos


RE: Extendiendo la clase String - Timestamp - tincho - 12-08-2021

(12-08-2021, 11:32)Shordi escribió: Según contextos yo añadiría un parámetro boolean para incluir las milésimas de segundo

Si, eso es otra función que también esta en la clase (están todas en String de databook)
Código:
'' Returns a text string over time in "yyyymmddhhnnssuu" format. From years to milliseconds with three digits.

Static Public Function Timestampu(datTime As Date) As String
 
  Return Format(datTime, "yyyymmddhhnnssuu")
 
End
(12-08-2021, 11:32)Shordi escribió: Si ese momento lo tienes que pasar a la función, se está falseando ese concepto: puedo crear las marcas que me den la gana. Imagina un registro de entrada de documentos, el timestamp protege que el orden de llegada sea el correcto. Si se puede falsear ya no es un timestamp.

Si comprendo lo que decís, pero si uso Now en vez de la variable el time stamp representara lo que sucedio en la funcion y no lo que sucedio en el metodo que llamo a esa función. La manera en  que esta hecha es mas flexible puesto que su funcion es proveer un "TimeStamp" en texto no la fecha del timestamp
Saludos.