首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将hhmmss.mm中的时间格式转换为R中的正常时间?

如何将hhmmss.mm中的时间格式转换为R中的正常时间?
EN

Stack Overflow用户
提问于 2016-12-07 00:54:23
回答 1查看 2.1K关注 0票数 0

我有一个用hhmmss.mm编写的时间格式,从一个表中导入这样的225014.09。地震时间到了。我想把它转换成22:50:14(:09?)在R.

我不知道这毫秒该怎么办。应该是上述方式。有人能帮我吗?我搜了又搜,却找不到答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-07 01:58:14

这方面有两条一般规则:

  1. 不要使用正则表达式解析日期和时间
  2. 遵循第1条规则。

严肃地说,使用一个日期时间分析器,其中R有很多。但是这里的一个关键是,您有时间而不是日期,所以您还不能将其解析为日期时间。

所以做这样的事:

代码语言:javascript
运行
复制
R> tstr <- "225014.09"
R> dtstr <- paste("2026-01-01", tstr)  # which date does not matter
R> pt <- anytime(dtstr)                # now it is parsed
R> pt
[1] "2026-01-01 22:50:14.08 CST"
R> tstr <- "225014.09"
R> dtstr <- paste("2016-01-01", tstr)  # which date does not matter
R> pt <- anytime(dtstr)                # now it is parsed
R> pt
[1] "2016-01-01 22:50:14.08 CST"
R> hhmmss <- format(pt, "%H:%M:%OS")
R> hhmmss
[1] "22:50:14.089999"
R> 

现在我们有了用小数秒表示的首选hh:mm:ss.ff --我的默认值是,但是您可以微调:

代码语言:javascript
运行
复制
R> options(digits.secs=2)
R> hhmmss <- format(pt, "%H:%M:%OS")
R> hhmmss
[1] "22:50:14.08"
R> 

'09‘被四舍五入到'08’是其中之一,浮点数的数学,不能改变你的解析或格式-这是一个基本的表现形式的限制。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41007631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档