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

hea*_*rse 2 datetime r

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

1/11/07 15:15
Run Code Online (Sandbox Code Playgroud)

我应用strptime timings生成tStamp如下:

tStamp=strptime(timings,format="%m/%d/%Y %H:%M")
Run Code Online (Sandbox Code Playgroud)

i)tStamp中的相应条目0007-01-11 15:15:00现在看起来像.为什么会做出2007070007?什么是正确的生成方式tStamp

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

Dir*_*tel 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>
Run Code Online (Sandbox Code Playgroud)

CST是我当地的时区.

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

R> as.numeric(pt)
[1] 1168550100
Run Code Online (Sandbox Code Playgroud)

...如果输入中有小数秒,则为小数秒:

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