gpt4 book ai didi

datetime - Sys.setlocale : request to set locale . ..无法兑现

转载 作者:行者123 更新时间:2023-12-04 06:26:57 25 4
gpt4 key购买 nike

我在包的函数中使用strptime(...)。我需要使用特定的本地设置来解析字符串,并使用Sys.setlocale作为获取英语本地化设置的解决方法。为了减少副作用,此后将恢复先前的本地设置。
该函数的基本代码片段如下所示:

#parameter settings
sometext <- "Mon, 14 Mar 2011 23:42:16 GMT"
timeFormat <- "%a, %d %b %Y %H:%M:%S"
timeZone <- "GMT"
#get current locale
loc <- Sys.getlocale("LC_TIME")
#set british localization
dummy <- Sys.setlocale("LC_TIME", "en_GB.UTF-8")
#parse datetime string
time <- strptime(sometext, format = timeFormat, tz= timeZone)
#set local back
dummy <- Sys.setlocale("LC_TIME", loc)

不幸的是,我的一位同事在使用此功能时收到以下警告:
In Sys.setlocale("LC_TIME", "en_GB.UTF-8") :
OS reports request to set locale to "en_GB.UTF-8" cannot be honored

在我的计算机上,一切正常。
有没有更好的方法(独立于已安装的R本地化)来执行此任务?通常,我想使用strptime,因为它允许使用非常灵活的方式来解析日期时间字符串。

最佳答案

我非常确定您的大学计算机上未安装“en_GB.UTF-8”语言环境。最简单的方法可能是安装它:)好吧,这并非对每个OS都是微不足道的。

其他选择可能是使用在每台计算机上都可以找到的标准语言环境。由于添加的示例未显示任何特殊格式,因此您可以尝试将LC_TIME设置为C,这在Linux和Windows下也可以使用。在该语言环境下,您给出的示例将像魅力一样工作。看:

> Sys.setlocale("LC_TIME", "C")
> strptime("Mon, 14 Mar 2011 23:42:16 GMT", format = "%a, %d %b %Y %H:%M:%S", tz="GMT")
[1] "2011-03-14 23:42:16 GMT"

否则,您应该转换数据-例如:编写一个简短函数,将所有星期和月份的名称替换为标准字符串,然后将导入的字符串重组为标准字符串。

关于datetime - Sys.setlocale : request to set locale . ..无法兑现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5345132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com