我有以下时间戳。
OUTLIST “19980202_0810”“19980202_0815”“19980202_0820”
我想拥有 “1998-02-02T08:10:00Z”“1998-02-02T08:15:00Z”“1998-02-02T08:20:00Z”
我只能做“1998-02-02 08:10:00太平洋标准时间”。
time_obj = strptime(outlist,format =“%Y%m%d_%H%M”)
答案 0 :(得分:1)
strptime
是导入功能; strftime
是格式(输出)函数,但我认为大多数人只会使用format
:
outlist <- c("19980202_0810", "19980202_0815", "19980202_0820")
time_obj=strptime(outlist, format = "%Y%m%d_%H%M")
format( time_obj , format="%Y-%m-%dT%H:%M:%SZ")
#[1] "1998-02-02T08:10:00Z" "1998-02-02T08:15:00Z" "1998-02-02T08:20:00Z"
目前这些是POSIXlt项目:
> class(time_obj)
[1] "POSIXlt" "POSIXt"
转换为POSIXct会更安全:
> time_obj=as.POSIXct(outlist, format = "%Y%m%d_%H%M")
> time_obj
[1] "1998-02-02 08:10:00 PST" "1998-02-02 08:15:00 PST" "1998-02-02 08:20:00 PST"
> class(time_obj)
[1] "POSIXct" "POSIXt"
在data.frames中没有很好地处理POSIXlt对象。
修改:print
中记录了POSIXct对象的?DateTimeClasses
方法,format.POSIXct
的帮助页面位于``trtftime`,我已经引用过:
strftime(time_obj, tz = "UTC")
[1] "1998-02-02 16:10:00" "1998-02-02 16:15:00" "1998-02-02 16:20:00"