我找不到另一個問題 - 但我覺得那里有一個問題,如果我問的是重復的問題,很抱歉!
我有以下格式(字符)的日期時間列:
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)。
希望你們中的一些人可以幫助我!
uj5u.com熱心網友回復:
正如里奇在評論中所說。命名格式可以解決問題。此外,您應該更改%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"
uj5u.com熱心網友回復:
library(lubridate)
date <- "02OCT2019:15:04:34.000000"
dmy_hms(date)
# [1] "2019-10-02 15:04:34 UTC"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/510331.html
