考虑以下 R 控制台输出。
> Sys.getlocale()
[1] "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C"
> dh <- '2018-05-08 07:42:34 PM'
> as.POSIXlt(dh,'%Y-%m-%d %I:%M:%S %p')
[1] "2018-05-08 07:42:34"
> strptime(dh,'%Y-%m-%d %I:%M:%S %p')
[1] "2018-05-08 19:42:34 -03"
如果两种格式相同,为什么不能as.POSIXlt
正确识别 12 小时格式?dh
给出晚上(晚上 7 点)的时间,但函数返回早上的时间!as.POSIXct
给出同样的错误。
我在这里想念什么?