Кто-нибудь узнает эту форму для хранения дат?

#r #time

#r #время

Вопрос:

У меня есть значения, полученные из большого двоичного объекта JSON и, вероятно, Excel до этого.

Для этого есть поле timestamp , включающее такие значения

 timestamp = [
1519383511397, 1536864135321,
1540584502333, 1535641486675,
1541126656968, 1544634450352,
1538790352678, 1538171618112,
1546300725869, 1542642909566
]
 

Я попытался преобразовать их с as.POSIXct(as.numeric(1519383511397), origin = "1970-01-01") помощью . Это не сработало. Я попробовал несколько других вариантов, например, установить начальный год в 0-01-01 и 2000-01-01 .

Вы распознаете этот формат и есть ли лучший способ их анализа?

Комментарии:

1. В каком диапазоне вы ожидаете, что значения будут находиться?

2. en.wikipedia.org/wiki/Unix_time

Ответ №1:

Это выглядит как временная метка Unix EPOCH13, которая исчисляется в миллисекундах, деление на 1000 дало следующее предположение о времени unix:

 timestamp  <-  c(
  1519383511397, 1536864135321,
  1540584502333, 1535641486675,
  1541126656968, 1544634450352,
  1538790352678, 1538171618112,
  1546300725869, 1542642909566
  )

as.POSIXct(timestamp/1000,origin="1970-01-01")

[1] "2018-02-23 11:58:31 CET"  "2018-09-13 20:42:15 CEST" "2018-10-26 22:08:22 CEST" "2018-08-30 17:04:46 CEST" "2018-11-02 03:44:16 CET" 
 [6] "2018-12-12 18:07:30 CET"  "2018-10-06 03:45:52 CEST" "2018-09-28 23:53:38 CEST" "2019-01-01 00:58:45 CET"  "2018-11-19 16:55:09 CET"
 

Комментарии:

1. Я думаю, что результат отличается от ожидаемого результата в сообщении OP. Сначала я думал о делении на 1000

Ответ №2:

Я предполагаю, что это время javascript, которое анализируется в миллисекундах, которое можно легко преобразовать.

 timestamp = c(
  1519383511397, 1536864135321,
  1540584502333, 1535641486675,
  1541126656968, 1544634450352,
  1538790352678, 1538171618112,
  1546300725869, 1542642909566
  )

conv_ms <- as.Date(timestamp / (24 * 60 * 60 * 1000), origin = as.Date("1970-01-01"))

R> conv_ms
 [1] "2018-02-23" "2018-09-13" "2018-10-26" "2018-08-30" "2018-11-02" "2018-12-12" "2018-10-06" "2018-09-28"
 [9] "2018-12-31" "2018-11-19"