保持毫秒数转换时间戳

问题描述

我有一个带有时间戳的数据帧,如下所示:

2020-06-28T16:45:04.3602059+03:00

我随时使用包函数来转换其格式:

df <- df %>%
    dplyr::mutate(
      timestamp = anytime::anytime(timestamp))

因此,时间戳记如下:

2020-06-28 16:45:04

但是我在这里损失了毫秒。在这种特定的初始格式的情况下,如何保持毫秒数来进行这种转换?

解决方法

毫秒保留在数据中,但是POSIXct类的显示方法会截断至秒。使用second()包中的lubridate函数,我们可以提取POSIXct date.time的秒部分,并观察到毫秒仍然存在:

library(anytime)
library(lubridate)
dt1 = anytime("2020-06-28T16:45:04.3602059+03:00")
second(dt1)
4.360205