在r中转换日期和时间时出错

时间:2017-08-02 17:53:30

标签: r time posixct

我想转换" 3月30日下午5:08 -0500" R中的POSIX时间格式。

date <- c("30 Jun 17 5:08 pm -0500")
mydate <- as.POSIXct(date, format="%d %b %y %I:%M %p %z")

返回的结果是&#34; 2017-06-30 18:08:00美国东部时间&#34;。

显然,时间不对,应该是17:08:00。

1 个答案:

答案 0 :(得分:1)

您的原始时间是-0500时区(比UTC晚5个小时),假设它是标准的美国时区,可能是中心夏令时,它有偏移量。您当前的时区,东部夏令时,是-0400(比UTC晚4个小时)。

就我而言,由于我的计算机目前处于CDT状态,因此我从您的代码中得到以下结果:

mydate
## [1] "2017-06-30 17:08:00 CDT"

应该是这样,因为我的时区与您的时间最初的UTC偏移相匹配。