我想转换January 2, 2018 at 02:55PM
为日期时间格式。我随时使用这个包。我添加了一种新格式addFormats("%B %d, %Y at %I:%M%p")
,但它不起作用。
anytime(data$Date)
返回“2018-01-02 CET”。我失去了一个小时..
我假设创建时间字符串的格式如下h <- "January 2, 2018 at 02:55PM"
我发现的关键是对字符串的修改,删除了“at”和“PM”。我已经分两步完成了,但我想有人可以一步完成。我没有像你那样放格式。
h <- "January 2, 2018 at 02:55PM"
h ; anytime(h)
#[1] "January 2, 2018 at 02:55PM"
#[1] "2018-01-02 CET"
h <- gsub("at ","", h,)
h ; anytime(h)
#[1] "January 2, 2018 02:55PM"
#[1] "2018-01-02 CET"
h <- gsub("PM","", h,)
h ; anytime(h)
#[1] "January 2, 2018 02:55"
#[1] "2018-01-02 02:55:00 CET"
请注意,没有秒,它假定小时为小时:分钟:00。
有一个正则表达式可以一次删除两种模式
h <- "January 2, 2018 at 02:55PM"
h <- gsub("at |PM","",h)
anytime(h)
#[1] "2018-01-02 02:55:00 CET"