正如里奇在评论中所说。命名格式就可以了。此外,您应该将
我还没能找到另一个问题,但我觉得有一个问题存在,如果我问了一个重复的问题,很抱歉
我有一个日期-时间列,格式如下(字符(:
date <- "02OCT2019:15:04:34.000000"
我试着用将该列转换为日期
new_date <- as.POSIXct(date, "%d%b%Y:%H:%M:%S%OS")
但它似乎不起作用。我觉得我的问题在于月份,因为它是大写的。我试着只减去日期(%d%b%Y(,然后使用as.POSIXct,得到了同样的错误。
我不知道它是否相关,但我的地区是
Sys.getlocale()
[1]"LC_COLLATE=Danish_Denmark.1252;LC_CTYPE=Danish_Denmark.1252;LC_MONETARY=Danish_Denmark.1252;LC_NUMERIC=C;LC_TIME=Danish_Denmark.1252"
使用的月份格式不是丹麦语,而是英语(因此OCT在丹麦语中为OKT(。
希望你们中的一些人能帮助我!
%S%OS
更改为%OS
。%OS
已经完成了秒和分数,因此不需要%S
。
总之,以下内容应适用于new_date <- as.POSIXct(date, format = "%d%b%Y:%H:%M:%OS")
编辑:这适用于以下区域设置:
> Sys.getlocale()
[1] "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=sv_SE.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=sv_SE.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=sv_SE.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=sv_SE.UTF-8;LC_IDENTIFICATION=C"
library(lubridate)
date <- "02OCT2019:15:04:34.000000"
dmy_hms(date)
# [1] "2019-10-02 15:04:34 UTC"