adr*_*121 2 format datetime r date posixct
我有一个数据框 df,它具有以下格式的日期因子变量:
2015-12-15 10:00:00
2015-12-19 12:00:00
2015-12-20 20:00:00
Run Code Online (Sandbox Code Playgroud)
它是每小时数据。在查看午夜 00:00:00 时会出现问题,因为它没有出现小时。它只是说:
21/12/2015
Run Code Online (Sandbox Code Playgroud)
因此,如您所见,它只显示日期,但没有显示小时。所以我使用 strptime 转换为日期格式:
df$date <- strptime(df$date,"%d/%m/%Y %H:%M")
Run Code Online (Sandbox Code Playgroud)
除了午夜 00:00:00 的任何一天之外,所有时间和日期都可以正常工作,返回:
NA
Run Code Online (Sandbox Code Playgroud)
我非常感谢您的帮助,因为我一直在查看 StackOverflow 和其他论坛中以前的帖子,但我还没有设法找出这个特定问题的解决方案。
来自 R 的strptime文档(强调已添加):
格式
一个字符串。如果任何元素具有不是午夜的时间分量,则格式方法的默认值为 "%Y-%m-%d %H:%M:%S",否则为 "%Y-%m-%d"。如果设置了 options("digits.secs"),则最多将打印指定位数的秒数。
所以信息仍然存在,您只需要将format它与时间组件一起打印出来。
> midnight <- strptime("2015-12-19 00:00:00","%Y-%m-%d %H:%M")
> midnight
[1] "2015-12-19 EST"
> format(midnight,"%Y/%m/%d %H:%M")
[1] "2015/12/19 00:00"
Run Code Online (Sandbox Code Playgroud)