中的R用POSIXct

问题描述 投票:2回答:1

我有以下代码:

as.POSIXct(c('03/08/2015 03:08:18 AM','03/09/2014 02:01:05 AM'),
           format="%m/%d/%Y %l:%M:%S %p")
[1] "2015-03-08 03:08:18 EDT" NA 

为什么转换时,第二次返回NA

r
1个回答
1
投票

我看到你在EDT(东部夏令时间)时区工作

在2014年3月9日的时钟went forward one hour at 02:00:00。因此,2点01分05秒的时间实际上并不存在。

首先,你应该检查数据的来源;你实际上应该是在美国东部时间工作?最有可能没有,所以你要设置的tz参数实际的时区。

例如

as.POSIXct(
  c('03/08/2015 03:08:18 AM','03/09/2014 02:01:05 AM')
  , format="%m/%d/%Y %l:%M:%S %p"
  , tz = "EST"   ## change this to the actual timezone you need. 
  )
#"2015-03-08 03:08:18 EST" "2014-03-09 02:01:05 EST"
© www.soinside.com 2019 - 2024. All rights reserved.