将字符日期和时间(以毫秒为单位)转换为R中的数字

时间:2017-04-18 11:52:22

标签: r date type-conversion numeric milliseconds

我有以下时间戳矢量:

Timestamp <- c("30-09-2016 11:45:00.000", "01-10-2016 06:19:57.860", "01-10-2016 06:20:46.393")

时间戳是表的一部分(不幸的是它似乎不是data.frame ......),其中包含其他度数和权重列:

  Timestamp Weight Degrees
1 30-09-2016 11:45:00.000 38.19 40.00 
2 01-10-2016 06:19:57.860 39.12 40.00 
3 01-10-2016 06:20:46.393 42.11 41.00

我想在时间戳上绘制权重,但时间戳的模式是“字符”,这意味着x轴未正确读取。您有什么建议将其转换为数字吗?

我尝试了as.Date(Timestamp,format='%d-%m-%Y %H:%M:%OS3'),但似乎无效。

2 个答案:

答案 0 :(得分:2)

正如埃尔德姆所说的那样,cellForRowAtif, if else, if else, else持续数秒

as.POSIXct

请注意,默认情况下,时间戳以整秒显示/打印;请参阅%OS

中的t1 <- c("30-09-2016 11:45:00.000", "01-10-2016 06:19:57.860", "01-10-2016 06:20:46.393") t2 <- as.POSIXct(t1,format = "%d-%m-%Y %H:%M:%OS")
digits.secs

但内部维持毫秒分辨率

?options

如果要显示/打印使用

设置的毫秒分辨率
t2
 [1] "2016-09-30 11:45:00 EDT" "2016-10-01 06:19:57 EDT" "2016-10-01 06:20:46 EDT"

答案 1 :(得分:0)

使用as.POSIXct

as.POSIXct(Timestamp,format = "%d-%m-%Y  %H:%M:%S.%OS")