Ver la Versión Completa : [Sintaxis] Pasar fecha a formato unix
Fito
16 de noviembre de 2021, 16:37
Holaaa:
Alguien sabe cómo pasar una fecha a formato unix?
Saludos...
Fito
JCantero
16 de noviembre de 2021, 17:02
Buscas algo hecho o lo quieres implementar tu ?
Aqui te copio un repositorio para convertir:
Microsoft Excel formula to convert ISO 8601 date with milliseconds resolution to time stamp · GitHub (https://gist.github.com/edonosotti/c079a92d05dc6b6ecf2a56e0a6b79f13#file-formula-md)
Formula
This will convert an ISO 8601 date such as: 2018-03-19T10:18:08.137747874Z
to a timestamp with milliseconds resolution: 1521454688137,00
Please note that the decimal part (,00) can be stripped away, milliseconds are the last three digits.
=(((DATEVALUE(LEFT(A1;10))+TIMEVALUE(MID(A1;12;8)) )-DATE(1970;1;1))*86400000)+VALUE(MID(A1;FIND(".";A1)+1;3))
Kuk
16 de noviembre de 2021, 17:45
@Fito, lo que estás buscando es convertir un timestamp al numero de segundos?
Fito
16 de noviembre de 2021, 20:19
Holaaa:
Ya estuve buscando soluciones y el tema es que el integer-of-date del cobol, toma los dias a partir de 1900 y el unix a partir de 1970. Entonces hice un cáculo restando la diferencia. A esos días lo multiplico por la cantidad de segundos por dia y si tengo hora hago lo mismo con ellas. Lo único a tener en cuenta que toma el uso horario 0. Acá en la Argentina tenemos -3, esa diferencia hay que tenerla en cuenta.
Ya está solucionado.
compute x1970 = function integer-of-date(19700101).
compute xdias = function integer-of-date(tpenfec).
compute xfecha = ((xdias - x1970) * 86400 + 43200) * 1000.
le sumo esos 43200 porque serían los segundos a las 12 del mediodía, como no llevo la hora, la tomo así por el tema antes explicado del uso horario..
Y por 1000 al final porque el programa al cual le estoy pasando esa fecha lo quería en milisegundos
Saludos...
Fito...
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.