5

lubridate 包中带有选项 label = TRUE 的 wday() 函数以英文返回星期几的名称。我想知道是否可以用另一种语言获取星期几的名称。有什么选择吗?

4

1 回答 1

4

并非没有编写自己的方法。

一周中的日子是用英语硬编码的lubridate:::wday.numeric

labels <- c("Sunday", "Monday", "Tuesday", "Wednesday", 
            "Thursday", "Friday", "Saturday")

您可以从我的答案中调整代码here,并将英文名称替换为您选择的语言的名称。

# assuming x is your Date
c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", 
   "Friday", "Saturday")[as.POSIXlt(x)$wday + 1]

编辑:

这是一个更接近 lubridate 的版本

labels <- c("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi")
ordered(as.POSIXlt(x)$wday + 1, levels=1:7, labels=labels)
于 2013-07-24T14:33:51.843 回答