Конвертировать дату в формате JSON в формат MM / DD / YYYY? - PullRequest
4 голосов
/ 27 апреля 2011

Мой клиент получает электронную таблицу с несколькими столбцами, один из которых является «датой». Только дата оказывается отформатированной как Date(1292291582263-0700) (кажется, в формате JSON).

Мне нужно конвертировать и работать с этой датой JSON в формате MM / DD / YYYY, в другом месте кода этой таблицы (VBA).

Кто-нибудь знает, как проанализировать и преобразовать этот формат даты JSON в формат MM / DD / YYYY? Я прочитал множество решений для SO, которые есть в Javascript, C # или ASP.NET и т. Д., Но все, что мне нужно для работы, это Excel 2010 и код VBA для этого проекта . Есть ли способ получить читаемый формат, как мне нужно?

1 Ответ

6 голосов
/ 27 апреля 2011

Время миллисекундной эпохи со смещением +/-?

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 
...