我有一个具有不同时区的日期和时间格式的数据框,我想将其与该时区的当前时间进行比较。所以我想在下面的“日期和时间”列中添加 1 小时,然后将其与该时区的当前时间进行比较,就像第一个一样(时区是 EDT,当前时间是 2017-07-18 10:20美东时间)
Date and time TZ
2017-07-08 16:00 EDT
2017-07-17 15:30 PDT
2017-07-17 11:00 EDT
2017-07-17 20:00 EDT
2017-07-17 10:00 EDT
2017-07-13 15:00 PDT
其中 EDT 是“美国/纽约”,PDT 是太平洋时区。
我只有原始数据的时间,后来用城市名称创建了一个列来知道它是“EDT 还是 PDT”,不知道如何从这里继续,我尝试了一些东西指定时区不改变 https://stackoverflow.com/questions/39021827/time-zone-not-changing-when-specified
时区确实很棘手,我的系统有一个默认的“美国/纽约”时区,我不确定我尝试的是否错误。
谁能给出一些想法如何在列中获取当地时间?
我想要的输出是:
Date and time | TZ | Localtime(current)
2017-07-08 16:00 | EDT | 2017-07-17 2017-07-18 10:24:19 EDT
2017-07-17 15:30 | PDT | 2017-07-17 2017-07-18 09:25:19 PDT
2017-07-17 11:00 | CDT | 2017-07-17 2017-07-18 09:25:19 CDT
2017-07-17 20:00 | EDT | 2017-07-17 2017-07-18 23:02:19 EDT
2017-07-17 10:00 | EDT | 2017-07-17 2017-07-18 10:24:19 EDT
2017-07-13 15:00 | PDT | 2017-07-17 2017-07-18 09:25:19 PDT
library(lubridate)
currentTime <- Sys.time()
tzs <- c("America/Los_Angeles", "America/Chicago", "America/New_York")
names(tzs) <- c("PDT", "CDT", "EDT")
lapply(tzs[data$TZ], with_tz, time = currentTime)
按照建议使用with_tz
from lubridate
,然后循环遍历。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)