R- 如何将日期从英文格式(月-日-年)转换为另一种格式?

R- How to transform a date from an english format (Month-Day-Year) to another format?

我想将 January 2, 2018 at 02:55PM 转换为日期时间格式。 我随时使用这个包。我添加了一种新格式 addFormats("%B %d, %Y at %I:%M%p") 但它不起作用。

anytime(data$Date) returns “2018-01-02 中国中部时间”。我失去了时间..

我假设创建时间字符串的格式如下 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"

请注意,没有秒,它假定小时为 hour:minute:00。

编辑:

有一个正则表达式可以一次删除两个模式

h <- "January 2, 2018 at 02:55PM"
h <- gsub("at |PM","",h)
anytime(h)
#[1] "2018-01-02 02:55:00 CET"