R语言 无法识别当前时区'C'

rdlzhqv9  于 2023-02-26  发布在  其他
关注(0)|答案(1)|浏览(211)

所有,
我正在Azure机器学习上使用R,我遇到了一些问题。
我想使用程序R计算两个日期之间的差异,例如,2014/11/01和2014/11/03。
我使用R中的函数"strptime"来做这件事,它可以在我自己的电脑上工作,但当我想在Azure ml上运行同样的代码时,它出来了错误。
错误为:

[ModuleOutput] 1: In strptime(x, format, tz = tz) :
[ModuleOutput] 
[ModuleOutput]   unable to identify current timezone 'C':
[ModuleOutput] 
[ModuleOutput] please set environment variable 'TZ'
[ModuleOutput] 
[ModuleOutput] 2: In strptime(x, format, tz = tz) : unknown timezone 'localtime'

我认为问题是它无法检测Azure ml上的时区,但我不确定。
有什么办法可以解决这个问题吗?
先谢了。

5vf7fwbs

5vf7fwbs1#

我想你遇到了类似的问题,像这个帖子:How to define current time zone in Azure ML for strptime function, unknown timezone 'localtime'
一个可能的解决方案是在调用strptime之前使用Sys.setenv(TZ ='UTC')。
若要在Azure机器学习上使用R语言计算两个日期之间的差异,可以使用difftime函数。此函数采用两个日期时间对象作为参数,并默认以秒为单位返回差异。可以使用units参数指定其他单位,如天或周。
例如,如果要计算2014/11/01和2014/11/03之间的天数差异,可以使用以下代码:

# Convert strings to date-time objects
date1 <- as.POSIXct("2014/11/01", format = "%Y/%m/%d")
date2 <- as.POSIXct("2014/11/03", format = "%Y/%m/%d")

# Calculate the difference in days
difftime(date2, date1, units = "days")

这将返回2天的结果。

相关问题