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

问题描述 投票:0回答:1

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

anytime(data$Date)返回“ 2018-01-02 CET”。我浪费时间。.

r datetime anytime
1个回答
0
投票

我假设创建时间字符串的格式如下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"
© www.soinside.com 2019 - 2024. All rights reserved.