R:时间戳,Unix时间和'strptime'的正确用法

时间:2013-06-25 22:54:37

标签: r datetime

我有一个名为timings的{​​{1}}类列,其中包含以下格式的时间戳:

factor

我在1/11/07 15:15 上应用了strptime来生成timings,如下所示:

tStamp

i)个 tStamp中的相应条目现在看起来像tStamp=strptime(timings,format="%m/%d/%Y %H:%M") 。为什么将0007-01-11 15:15:002007转换为07?生成0007的正确方法是什么?

ⅱ) 在正确生成tStamp之后,我们如何将其转换为Unix时间秒。 (自1970年以来的秒数)格式?

1 个答案:

答案 0 :(得分:5)

您需要小写%y两位数年份:

R> pt <- strptime("1/11/07 15:15",format="%m/%d/%y %H:%M")
R> pt
[1] "2007-01-11 15:15:00 CST"
R>

其中CST是我当地的时区。

as.numeric()as.double()转换为双...

R> as.numeric(pt)
[1] 1168550100

...如果它们在输入中,则有小数秒:

R> options("digits.secs"=3)    # show milliseconds
R> as.numeric(Sys.time())      # convert current time
[1] 1372201674.52              # now with sub0seconds.