将字符串解析为日期时间对象
将字符串解析为 POSIXct 和 POSIXlt 的函数采用类似的参数并返回类似的结果,但是日期时间的存储方式存在差异; 见备注。
as.POSIXct("11:38", # time string
format = "%H:%M") # formatting string
## [1] "2016-07-21 11:38:00 CDT"
strptime("11:38", # identical, but makes a POSIXlt object
format = "%H:%M")
## [1] "2016-07-21 11:38:00 CDT"
as.POSIXct("11 AM",
format = "%I %p")
## [1] "2016-07-21 11:00:00 CDT"
请注意,日期和时区是估算的。
as.POSIXct("11:38:22", # time string without timezone
format = "%H:%M:%S",
tz = "America/New_York") # set time zone
## [1] "2016-07-21 11:38:22 EDT"
as.POSIXct("2016-07-21 00:00:00",
format = "%F %T") # shortcut tokens for "%Y-%m-%d" and "%H:%M:%S"
有关格式字符串的详细信息,请参见 ?strptime
。
笔记
缺少元素
- 如果未提供日期元素,则使用当前日期的日期元素。
- 如果未提供时间元素,则使用从午夜开始的时间元素,即 0。
- 如果字符串或
tz
参数中未提供时区,则使用本地时区。
时区
tz
的可接受值取决于位置。CST
与CST6CDT
或America/Chicago
一起给出
- 对于支持的位置和时区,请使用:
- 在 R:
OlsonNames()
- 或者,尝试 R:
system("cat $R_HOME/share/zoneinfo/zone.tab")
- 在 R:
- 这些位置由互联网号码分配机构(IANA)提供