r - 如何转换时间R的格式?
问题描述
我有一个数据框,其时间格式如下:
Time
01.01.2017 01:00
01.01.2017 02:00
01.01.2017 03:00
01.01.2017 04:00
01.01.2017 05:00
01.01.2017 06:00
class(df$Time)
[1] "factor"
它的日、月、年、时、分。我想把它转换成可读的时间。我已经试过了:
strptime(df$Time, format="%d-%m-%Y %H:%M")
as.POSIXct(df$Time)
它不起作用。如何转换并将格式更改为:2017-01-01 01:00。所以我想要年、月、日、小时、分钟。
解决方案
阅读?strptime
你需要format
的
strptime("01.01.2017 01:00", format="%d.%m.%Y %H:%M")
#[1] "2017-01-01 01:00:00"
如果您需要输出为我们可以使用的特定格式format
format(strptime("01.01.2017 01:00", format="%d.%m.%Y %H:%M"), "%Y-%m-%d %H:%M")
#[1] "2017-01-01 01:00"
同样适用as.POSIXct
as.POSIXct("01.01.2017 01:00", format="%d.%m.%Y %H:%M")
或忽略指定格式直接使用lubridate::dmy_hm
lubridate::dmy_hm("01.01.2017 01:00")
@42- 提到的要注意的一件事是,尽管它们看起来相同,但输出format
是字符值,而as.POSIXct
andstrptime
是日期时间值。
推荐阅读
- mysql - 如何在 mysql 中对 unixtimestamp 执行正确的选择
- css - 带有 HTML Canvas 的文本动画效果
- javascript - 尝试使用模板标签来使用 javascript 扩展表单
- r - RStudio 和 rmarkdown::render() 之间的 Rmarkdown notebooks 中字符向量的渲染差异
- python - 使用python从json数组中提取具有重复名称的数据
- loops - 循环的工作批处理在不同的计算机上不起作用
- mysql - MySQL 在更新时过滤记录集中的两个字段错误 - VBA Excel - 运行时错误'-2147467259 (80004005)'
- pandas - Numpy where 只返回布尔值
- java - 链表上的递归:如何比较?
- npm - 升级/更新 package.json 中的节点包而不安装它?