我有一个日期列,其格式根据用户的系统时间设置而变化。例如,它可以是ymd:hms
(例如,23/12/31 13:56:45)或mdy:hms
(例如,12/31/23 13:56:45)。
我需要确定正确的日期格式,以便将列转换为要执行操作的日期元素。数据由用户通过Shiny提交,应用程序处理数据并允许用户下载处理后的数据。我没有机会检查数据,因为我可以很容易地自己确定正确的格式。
所有数据都比2018年更新;因此,如果一个月被解析为年(例如,04 -> 2004),很容易看出这是不正确的。
我想知道是否有任何方法来检测正确的格式,并应用基于正确格式的函数?我已经搜索了Stack,但没有找到任何真实的的解决方案,这个问题不涉及知道正确的日期格式。
mutate(`End Time_test` = as_datetime(`End Time_test`),
`Start Time_test` = as_datetime(`Start Time_test`),
`Run Time (Min)` = (`End Time_test` - `Start Time_test`)/60) %>%
relocate(`Run Time (Min)`, .after = `End Time_test`)
更正:
Start Time End Time Run Time (Min)
2021-08-11 10:04:09 2021-08-11 10:50:46 46.6166666666667
错误:
Start Time End Time Run Time (Min)
2005-02-23 13:40:59 2005-02-23 14:57:00 1.26694444444444
1条答案
按热度按时间wwtsj6pe1#
如果你需要更详尽的东西,你可以尝试
guess_formats
,它将返回匹配的格式,然后你可以用它来解析日期。