在 weatherData 查询中设置时区
Setting time zone in weatherData queries
我正在使用 weatherData
包,特别是它的 getDetailedWeather
功能。它returns一个数据框,数据框的组成部分之一是Time
,classPOSIXct
。我的问题是所有 Time
都设置为我正在使用的机器的本地时区。我很确定这是不正确的,数据反映了当地时间,而 API 唯一做的就是将时区添加到数据中,而不更改它。我对么?我怎样才能告诉 API 停止使用我的默认时区?
例如:
library(weatherData)
dat <- getDetailedWeather("NRT", "2014-04-29")
dat$Time
# [1] "2014-04-29 00:00:00 EST" ## local timezone, not of the weather station
查看?getDetailedWeather
中示例的结果:
library(weatherData)
dat <- getDetailedWeather("NRT", "2014-04-29")
dat$Time
# [1] "2014-04-29 00:00:00 EST" "2014-04-29 00:30:00 EST" "2014-04-29 01:00:00 EST" etc
返回的时间似乎是 'correct',因为它从 00:00 到 23:30。数据的时区不是气象站的时区,而是主机系统的时区。一旦你拥有它,你可能最好只改变这个输出数据,因为默认情况下 R 将始终在本地时区显示 date/time POSIXct
对象,例如:
as.POSIXct(as.character(dat$Time),tz="UTC")
# [1] "2014-04-29 00:00:00 UTC" "2014-04-29 00:30:00 UTC" "2014-04-29 01:00:00 UTC" etc
以上将时区更改为新时区(在本例中 "UTC"
,但您可以使用适合气象站位置的时区)而不影响时间数据。请参阅此处: 以识别本地时区代码。
我正在使用 weatherData
包,特别是它的 getDetailedWeather
功能。它returns一个数据框,数据框的组成部分之一是Time
,classPOSIXct
。我的问题是所有 Time
都设置为我正在使用的机器的本地时区。我很确定这是不正确的,数据反映了当地时间,而 API 唯一做的就是将时区添加到数据中,而不更改它。我对么?我怎样才能告诉 API 停止使用我的默认时区?
例如:
library(weatherData)
dat <- getDetailedWeather("NRT", "2014-04-29")
dat$Time
# [1] "2014-04-29 00:00:00 EST" ## local timezone, not of the weather station
查看?getDetailedWeather
中示例的结果:
library(weatherData)
dat <- getDetailedWeather("NRT", "2014-04-29")
dat$Time
# [1] "2014-04-29 00:00:00 EST" "2014-04-29 00:30:00 EST" "2014-04-29 01:00:00 EST" etc
返回的时间似乎是 'correct',因为它从 00:00 到 23:30。数据的时区不是气象站的时区,而是主机系统的时区。一旦你拥有它,你可能最好只改变这个输出数据,因为默认情况下 R 将始终在本地时区显示 date/time POSIXct
对象,例如:
as.POSIXct(as.character(dat$Time),tz="UTC")
# [1] "2014-04-29 00:00:00 UTC" "2014-04-29 00:30:00 UTC" "2014-04-29 01:00:00 UTC" etc
以上将时区更改为新时区(在本例中 "UTC"
,但您可以使用适合气象站位置的时区)而不影响时间数据。请参阅此处: