如何在不添加日期的情况下将字符转换为小数秒的时间?

时间:2019-01-19 20:54:34

标签: r

是否可以将字符串转换为保留小数秒的时间,但不将日期添加到数据中?

背景:我保存了一整夜(从22:00开始到06:00结束)保存的数据带有时间,但没有日期。 我希望能够在时间上执行类似“ if”的声明(例如,如果(时间<午夜)date =昨天。...else date =今天)

我不想使用诸如strptime之类的东西,因为strptime将今天的日期添加到数据中:

> options(digits.secs=3)
> strptime("22:59:54.807", format="%H:%M:%OS")
[1] "2019-01-20 22:59:54.807 AEDT"

当我使用chron程序包中的时间时,小数秒会减少:

> options(digits.secs=3)
> times("22:59:54.807")
[1] 22:59:55

1 个答案:

答案 0 :(得分:0)

使用 base :: strftime(),您可以获取所需时间到任意秒数的字符。在下面,我使用“ OS”后的数字“ 4”将当前时间保存为1/1000秒单位:

使用当前系统时间:

time = Sys.time() str(time)

  

POSIXct [1:1],格式:“ 2019-01-19 15:41:28.185”

newTime = strftime(Sys.time(), format="%H:%M:%OS4") str(newTime)

  

chr“ 15:41:28.1851”

newTime

  

[1]“ 15:41:28.1851”