2

我有一个名为timingsclass的列,factor其时间戳采用以下格式:

1/11/07 15:15

我应用 strptimetimings生成tStamp如下:

tStamp=strptime(timings,format="%m/%d/%Y %H:%M")

i) tStamp 中的对应条目0007-01-11 15:15:00现在看起来像这样。为什么它被做成2007070007?什么是正确的生成方法tStamp

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

4

1 回答 1

5

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

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.
于 2013-06-25T22:58:12.930 回答