将时间戳转换为毫秒

时间:2015-11-30 14:18:47

标签: r apache-spark sparkr

嘿我正在使用SparkR,我将此数据集与数据字段作为此

  

2013-11-01 00:00

str的结果

Time    : chr  "2013-11-01 00:00" "2013-11-01 00:10" "2013-11-01 00:20" "2013-11-01 00:30" ...

现在我需要将此数据转换为毫秒。 注意:我需要小时和分钟。

当我尝试一个简单的as.numeric时,它给了我NA。 我该怎么办?

Ps:我搜索了类似的问题,当我尝试使用某些解决方案时,小时和分钟也会在用户format属性时消失。

我现在这样做我需要从“2013-11-01 09:10”到 - > 1383293400000

的逆程序
a<-TrentoTo$TimeInterval[1]  #1383293400000
b<-as.POSIXct((a)/1000, origin = "1970-01-01")
b<-strftime(b, format="%Y-%m-%d %H:%M") #"2013-11-01 09:10"

1 个答案:

答案 0 :(得分:3)

首先,您必须转换为POSIXct,如此主题:Dealing with timestamps in R。所以代码应该是:

as.numeric(as.POSIXct(Time))

使用您自己的示例解决方案

a <- 1383293400000
b <- as.POSIXct((a)/1000, origin = "1970-01-01")
b <- strftime(b, format="%Y-%m-%d %H:%M") #"2013-11-01 09:10"

输出

> as.numeric(as.POSIXct(b))*1000 == a
[1] TRUE