将字符串解析为日期时间对象

将字符串解析为 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 参数中未提供时区,则使用本地时区。

时区