r - 如何在不添加日期的情况下将字符转换为具有小数秒的时间?
问题描述
有没有办法将字符串转换为保留小数秒但不向数据添加日期的时间?
背景:我在一夜之间保存的数据(从 22:00 开始,到 06:00 结束)记录的是时间,而不是日期。我希望能够在时间上执行类似“if”语句的操作(即如果(时间 < 午夜)日期 = 昨天 .... 否则日期 = 今天)
我不想使用 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
解决方案
使用base::strftime(),您可以获得所需时间的字符到您想要的任何秒数。下面我将当前时间保存为单位 1/1000 秒,使用“OS”后面的数字“4”:
使用当前系统时间:
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”
推荐阅读
- firebase - 带有英国邮政编码距离搜索的 Flutter Firebase 实时数据库
- arrays - 从存档中打开图像并加载到 cv2
- sql-server - .net Core 一对多关系太慢
- javascript - 如何在 foreach 循环中获取单击元素的索引?
- django - 在 Django 中模拟外部 API
- youtube-data-api - 获取播放列表时获取歌曲的元信息
- c# - 用镜子制作多人多人纸牌游戏
- python - 如何在安装 chatterBot 时修复错误?
- json - 为具有许多键的 JSON 对象进行 hamcrest 断言的最有效方法是什么?
- ios - iOS Flutter-如何调整字符串表情符号的大小?