r - 在R中获取英语的工作日

标签 r date locale weekday

我在美国以外的地方使用R,并且一切工作都使用英语,但是weekdays()的结果仍然是西类牙语:

Day <- seq(as.Date("2013-06-01"), by=1, len=30)
weekdays(Day)
[1] "sábado"    "domingo"   "lunes"     "martes"    "miércoles"  (...)

关于如何用英语获得工作日有什么想法吗?

最佳答案

DatePOSIX*t对象的打印似乎受LC_TIME语言环境类别控制。

在Windows上,您可以这样更改:

## First, save the current value so we can restore it later
Sys.getlocale("LC_TIME")
# [1] "English_United States.1252"

## First in Spanish
Sys.setlocale("LC_TIME","Spanish Modern Sort")
# [1] "Spanish_Spain.1252"
weekdays(Sys.Date()+0:6)
# [1] "lunes"     "martes"    "miércoles" "jueves"    "viernes"   "sábado"   
# [7] "domingo"  

## Then back to (US) English
Sys.setlocale("LC_TIME","English United States")
# [1] "English_United States.1252"
weekdays(Sys.Date()+0:6)
# [1] "Monday"    "Tuesday"   "Wednesday" "Thursday"  "Friday"    "Saturday" 
# [7] "Sunday" 

在大多数* NIX上,等效项为:
Sys.setlocale("LC_TIME", "en_US")

特定的语言环境名称取决于操作系统,如?Sys.setlocale中所述。对于Windows接受的名称,请输入see here。对于Linux接受的名称,请使用see here

关于r - 在R中获取英语的工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031002/

相关文章:

sql - SQL SERVER 2008 R2 中无效日期的 DATE 与 DATETIME 转换

mfc - 获取 COleDateTime::Format 以返回 "stycznia"而不是波兰月份 "styczeń"的 "January"

javascript - 带有自定义分隔符的 Number.toLocaleString()

r - data.table 中的列槽

r - jpeg R 包安装在非标准位置找不到 jpeglib.h

r - 计算列中连续重复项的数量

Ruby:将十进制的日期转换为名称的日期

r - 如何确定数据框中的更改?

javascript - NetSuite RESTlet,提交日期/时间时区问题

.net - 使用 InvariantCulture(2 位数年份)将 "12/25/35"解析为日期