我该如何解释以润滑它应该使用的语言环境?

How can I explain to lubridate which locale it should use?

我无法让它工作,有人能告诉我哪里出了问题吗? Windows 使用德语语言环境。

library(lubridate)
library(dplyr)
t0 <- "Dienstag, 19. Februar 2019 12:49:06"
t0 %>% parse_date_time(orders="ymd",locale="German_Germany.1252")
t0 %>% parse_date_time(orders="ymd",locale="de-DE.utf-8")
t0 %>% parse_date_time(orders="ymd")

None 这些作品...我认为 parse_date_time 应该让事情变得更容易。 或者我是否必须指定格式 "%H %M %s" 等? 有没有一个包可以像那样解析输入而不必指定每个细节?

Sys.getlocale() 的输出:

LC_COLLATE=German_Germany.1252;LC_CTYPE=German_Germany.1252;LC_MONETARY=German_Germany.1252;LC_NUMERIC=C;LC_TIME=German_Germany.1252

我认为您的语言环境已经是德语了。尝试使用 as.POSIXct 和适当的 format

as.POSIXct(t0, format = "%A, %d. %B %Y %T", tz = "UTC")

例如,这适用于我的英语语言环境

t1 <- "Tuesday, 19. February 2019 12:49:06"
as.POSIXct(t1, format = "%A, %d. %B %Y %T", tz = "UTC")
#[1] "2019-02-19 12:49:06 UTC"

并且 parse_date_time 这似乎有效

lubridate::parse_date_time(t1, "dmYT")
#[1] "2019-02-19 12:49:06 UTC"