r - conversão de POSIXct em milissegundos
De?POSIXct
nós sabemos isso
A classe "POSIXct" representa o número (assinado) de segundos desde o início de 1970 (no fuso horário UTC) como um vetor numérico.
Portanto, eu assumi que para obter umPOSIXct
valor em milissegundos, precisamos multiplicar por1000
Considere os dias de dezembro de 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"
Convertendo-os em número inteiro
d <- as.integer(d)
Vemos que cada número inteiro é10
dígitos
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
Ao multiplicar por 1000 para converter em milissegundos, obtemos
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
alguns valores têm apenas 11 ou 12 dígitos (enquanto eu pensaria que multiplicar um número de 10 dígitos por 1000 adicionaria 3 dígitos)
Existe uma explicação para isso que não estou vendo?