我有一组标准的 unix 整数时间戳,全部采用 UTC(格林威治标准时间),我将它们输入到我希望绘制的 R 中。我一直在使用以下形式的代码:
d$date_time <- as.POSIXct(d$date_time,origin="1970-01-01",tz="GMT")
将我的标准 unix 时间戳 UTC 整数列转换为我假设的某种可绘制对象集。我可以绘制这个并且数据看起来大致不错,但我不知道我的所有数据是否都被我的计算机的本地时区或任何其他时区调整以任何方式偏移。这是因为我不明白当 a) 我调用as.POSIXct()
和 b) 当我绘制数据时对数据进行了哪些调整(如果有的话)。所以这些是我的问题:
- 当我
tz="GMT"
在上面指定时,这到底是在告诉计算机做什么?我看到了三种可能性:i)“您的数据采用 GMT 格式,您希望将其转换为本地时间”ii)“您的数据始终假定为本地时间,您希望将其转换为 GMT”iii)“您的数据始终是假定为格林威治标准时间,而您希望我将其留在格林威治标准时间,所以不要进行任何调整”。 - 当我绘制数据(使用
xyplot
)时,绘图功能是否会对时间进行任何视觉调整?如果有,有哪些调整?
我认为如果有人可以解释内部数据结构如何存储时区信息以及这些数据结构如何通过各种命令进行转换,这将有助于理清思路。基本上,我想从一开始就使用 UTC,直到显示点,我可能希望对时区进行调整,尽管理想情况下是明确的,而不是计算机默默地为我决定。