我正在尝试使用parsedate
包将几个不同的日期时间格式解析/转换为统一/均质格式,问题在于有些日期会用英语(我的机器语言)表示,而有些则会用西班牙语。让我举个例子:
我有两个向量:
#English dates
dates<-c("2016 jun 15 8:39 p.m","2016 apr 2 8:39 a.m","2016 dec 2 8:39 a.m")
#Spanish dates
fechas<-c("2016 junio 15 8:39 p.m","2016 abril 2 8:39 a.m","2016 diciembre 2 8:39 a.m")
我注意到函数parse_date()
可以将向量dates
正确转换为所需的输出格式,但在尝试解析带有西班牙日期的向量时,即使将本地时间更改为“西班牙语”,它也无效,如下所示:
#Parsing english dates
parsedate::parse_date(dates)
> parsedate::parse_date(dates)
[1] "2016-06-15 08:39:00 UTC" "2016-04-02 08:39:00 UTC" "2016-12-02 08:39:00 UTC"
#Parsing spanish dates
Sys.setlocale("LC_TIME", "Spanish")
parsedate::parse_date(fechas)
> Sys.setlocale("LC_TIME", "Spanish")
[1] "Spanish_Spain.1252"
> parsedate::parse_date(fechas)
[1] "2016-01-15 08:39:00 UTC" "2016-01-02 08:39:00 UTC" "2016-01-02 08:39:00 UTC"
西班牙语输出结果错误,因为它应该返回与英文日期中相同的输出结果。我已经尝试了几种正确更改我的机器本地时间为西班牙语的方法,但都没有成功。如果您可以帮助我,我将非常感激。
Sys.setlocale
:在控制台中键入?Sys.setlocale
。在底部的示例部分中有一些示例。总的来说,设置和获取本地化信息非常直观。例如,在将其设置为您所在位置之后,请尝试Sys.time()
、Sys.Date()
和x <- c(1,2) month.abb[x]
。然后,您可以检查您的系统是否受到影响。通过这种方式,我回到了“德语”。 - TarJae