我正在使用日期和R,我正在使用as.POSIXct
函数转换日期。通过查看?strptime
文档,我对如何转换日期非常了解。但是我很困惑为什么这个特定的转换不能按预期工作(见下文)。
date_string <- "03/11/2017, 3:14:32 pm"
as.POSIXct(date_string, format = "%m/%d/%Y, %H:%M:%S",tz="PST8PDT")
> [1] "2017-03-11 03:14:32 PST"
这次转换我失去了12个小时的时间,我期待着这个......
> [1] "2017-03-11 15:14:32 PST"
我尝试使用'%r'和我的格式,但总是给我NA?有人可以解释一下R在这里做了什么,以及为什么它不按预期转换这个日期字符串?
答案 0 :(得分:3)
两个错误:
%H
,希望%I
用于可怕的12小时格式%p
来抓住“pm”标记经过纠正:
R> date_string <- "03/11/2017, 3:14:32 pm"
R> as.POSIXct(date_string, format = "%m/%d/%Y, %I:%M:%S %p",tz="PST8PDT")
[1] "2017-03-11 15:14:32 PST"
R>