Pregunta

Mi cliente recibe una hoja de cálculo con varias columnas, una es una "fecha". Solo la fecha resulta formateada como Date(1292291582263-0700) (Parece una fecha de JSON).

Necesito convertir y trabajar con esta fecha JSON en formato mm/dd/aaa yyyy, en otras partes del código de esta hoja de cálculo (VBA).

¿Alguien sabe cómo analizar y convertir este formato de fecha JSON en un formato mm/dd/aaa yyyy? He leído muchas soluciones, por lo que están en JavaScript, C#o ASP.net, etc. pero Todo lo que tengo que trabajar es el código de Excel 2010 y VBA para este proyecto. ¿Hay forma de llegar a un formato legible como lo necesito?

¿Fue útil?

Solución

¿Hora de la época de milisegundos con un compensación +/-?

Const test = "1292291582263-0700"

Dim dt As String: dt = Left$(test, 13)
Dim off As String: off = Mid$(test, 14)

Dim d As Date: d = DateAdd("s", CCur(dt) / 1000, "01/01/1970")
Debug.Print d
<<< 14/12/2010 01:53:02 

d = DateAdd("h", Left$(off, 3), d)
d = DateAdd("n", Right$(off, 2), d)
Debug.Print d
<<< 13/12/2010 18:53:02 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top