r - преобразование POSIXct в миллисекунды
От?POSIXct
мы знаем это
Класс «POSIXct» представляет число (со знаком) секунд с начала 1970 года (в часовом поясе UTC) в виде числового вектора.
Поэтому я предположил, что, чтобы получитьPOSIXct
значение в миллисекундах нам нужно умножить на1000
Рассмотрим дни декабря 2015
## generate sequence of days in December 2015
d <- seq(as.POSIXct("2015-12-01"), as.POSIXct("2015-12-31"), by = 60*60*24)
# [1] "2015-12-01 AEDT" "2015-12-02 AEDT"
# ...
# [29] "2015-12-29 AEDT" "2015-12-30 AEDT" "2015-12-31 AEDT"
Преобразование их в целое число
d <- as.integer(d)
Мы видим, что каждое целое число10
цифры
nchar(d)
# [1] 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
При умножении на 1000 для преобразования в миллисекунды мы получаем
nchar(d * 1000)
# [1] 13 13 13 13 12 13 13 13 13 12 13 13 13 13 12 13 13 13 13 11 13 13 13 13 12 13 13 13 13 12 13
некоторые значения имеют только 11 или 12 цифр (тогда как я думал бы, что умножение 10-значного числа на 1000 добавит 3 цифры)
Есть ли объяснение этому, которого я не вижу?