将日期时间字符串转换为自1960年1月1日以来的双倍毫秒值

时间:2012-04-13 21:35:42

标签: r date-format datetime-format stata

我已经找到了如何从相关问题(参见下文)中的R自1960年1月起将Stata日期时间格式转换为毫秒:

as.POSIXct(874022400000/1000, origin="1960-01-01")

我希望在R中做相反的事情:即给定一个表示为字符串的日期时间,找出如何将日期时间值返回为自1960年1月1日00:00:00以来的毫秒数。任何建议都会非常感激。

1 个答案:

答案 0 :(得分:2)

使用as.numeric将日期时间强制转换回自纪元以来的秒数。由于R使用1970作为其起源,因此您必须另外考虑1960 - 1970年的偏移量。当然,最后要注意毫秒到毫秒的转换。

> mydate = as.POSIXct(874022400000/1000, origin="1960-01-01")
> 1000 * (as.numeric(mydate) - as.numeric(as.POSIXct('1960-01-01')))
[1] 874022400000