【发布时间】:2021-07-19 06:26:19
【问题描述】:
dates <- seq(1626629937,1626629944)
# CORRECT
## #1
as.POSIXct(dates, tz="Asia/Shanghai",origin="1970-01-01")
#> [1] "2021-07-19 01:38:57 CST" "2021-07-19 01:38:58 CST" "2021-07-19 01:38:59 CST" "2021-07-19 01:39:00 CST"
#> [5] "2021-07-19 01:39:01 CST" "2021-07-19 01:39:02 CST" "2021-07-19 01:39:03 CST" "2021-07-19 01:39:04 CST"
## #2
as.POSIXct(dates, tz="Asia/Shanghai",origin="1970-01-01",optional = FALSE)
#> [1] "2021-07-19 01:38:57 CST" "2021-07-19 01:38:58 CST" "2021-07-19 01:38:59 CST" "2021-07-19 01:39:00 CST"
#> [5] "2021-07-19 01:39:01 CST" "2021-07-19 01:39:02 CST" "2021-07-19 01:39:03 CST" "2021-07-19 01:39:04 CST"
# DIFFERENT RESULT
## #3
as.POSIXct(dates,"%Y-%m-%d %H:%M:%S" ,origin="1970-01-01")
#> [1] "2021-07-18 17:38:57" "2021-07-18 17:38:58" "2021-07-18 17:38:59" "2021-07-18 17:39:00" "2021-07-18 17:39:01"
#> [6] "2021-07-18 17:39:02" "2021-07-18 17:39:03" "2021-07-18 17:39:04"
# NAs
## #4
as.POSIXct(dates,"%Y-%m-%d %H:%M:%S",tz="Asia/Shanghai",origin="1970-01-01")
#> [1] NA NA NA NA NA NA NA NA
## #5
as.POSIXct(dates,"%Y-%m-%d %H:%M:%S",tz="Asia/Shanghai",origin="1970-01-01",optional = FALSE)
#> [1] NA NA NA NA NA NA NA NA
# ERROR
## #6
as.POSIXct(dates,"%Y-%m-%d %H:%M:%S" ,optional = FALSE)
#> Error in as.POSIXct.numeric(as.integer(.), "%Y-%m-%d %H:%M:%S", optional = FALSE) :
#> 'origin' must be supplied
作为上述 R 脚本的输出,使用 tz,origin,optional 参数格式化 "%Y-%m-%d %H:%M:%S" 导致 NA。
问题出在哪里?
【问题讨论】: