r - 在R中使用anytime()函数

标签 r format anytime

我正在尝试使用 anytime() 在 R 中转换日期和时间字符串功能。该字符串的格式为“日期-月份-年时-分-秒”。看来anytime()该功能在某些情况下不起作用,如下例所示。

library(lubridate)
x1<-"03-01-2019 01:00:00"
x2<-"23-01-2019 17:00:00"

anytime(x1)
[1] "2019-03-01 01:00:00 CET"
anytime(x2)
[1] NA

我正在想办法解决这个问题。感谢您的帮助:)

最佳答案

您可以使用addFormats()将特定格式添加到anytime()已知并使用的堆栈中(和/或anydate())

> library(anytime)
> addFormats("%d-%m-%Y %H:%M:%S")
> anytime(c("03-01-2019 01:00:00", "23-01-2019 17:00:00"))
[1] "2019-01-03 01:00:00 CST" "2019-01-23 17:00:00 CST"
> 

正如本网站之前多次解释的那样,xx-yy符号是含糊不清的,并且在世界不同地区有不同的解释。

所以anytime通过用作分隔符来引导:/在北美更常见,因此我们使用“mm/dd/yyy”。另一方面,连字符在欧洲更常见,因此“dd-mm-yyyy”以这种方式开头。您可以使用getFormats()查看 anytime() 中的格式。在新的 session 中:

> head(getFormats(), 12)   ## abbreviated for display here
 [1] "%Y-%m-%d %H:%M:%S%f" "%Y-%m-%e %H:%M:%S%f" "%Y-%m-%d %H%M%S%f"  
 [4] "%Y-%m-%e %H%M%S%f"   "%Y/%m/%d %H:%M:%S%f" "%Y/%m/%e %H:%M:%S%f"
 [7] "%Y%m%d %H%M%S%f"     "%Y%m%d %H:%M:%S%f"   "%m/%d/%Y %H:%M:%S%f"
[10] "%m/%e/%Y %H:%M:%S%f" "%m-%d-%Y %H:%M:%S%f" "%m-%e-%Y %H:%M:%S%f"
> 

您可以在没有 head() 的情况下使用它查看全部。

关于r - 在R中使用anytime()函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75496804/

相关文章:

r - 通过最小化 R 中的方差对数据进行分组

model-view-controller - JTemplates 使用 asp.net mvc 格式化日期

wpf - XPS 的意义何在?

css - 如何设置和自定义 Rails 日期时间选择字段的样式?

javascript - AnyTime日期选择器添加清除按钮

从 R 中的数据中删除 BST 和 GMT,然后查看时间

r - 使用 dplyr 对 R 中不同列(和不同行位置)的行进行运算

r - 如何通过R的逆模式提取子串?

linux - 使用 R system() 命令进行 ssh

javascript - jQuery lib 会导致错误,直到刷新