我正在调用一个api,它以130800Z
格式返回表示时间,小时和分钟的时间。我想知道是否有一种简单的方法来转换它?
我的方法是将字符串拆分Sys.Date
以获取月份和年份,然后将130800Z
除以每2个字符并将所有结果合并到2017-10-13 08:00:00
只是想知道是否有办法使用striptime(sprintf(...
而不必拆分任何东西?
答案 0 :(得分:2)
试试这个:
strptime(x = time,format = "%d%H%M",tz = "GMT")
#[1] "2017-10-13 08:00:00 GMT"
答案 1 :(得分:0)
我这样做但必须使用拆分
time = "130950Z"
day = substring(time, seq(1,nchar(time),2), seq(2,nchar(time),2))[1]
hour = substring(time, seq(1,nchar(time),2), seq(2,nchar(time),2))[2]
min = substring(time, seq(1,nchar(time),2), seq(2,nchar(time),2))[3]
year = unlist(str_split(Sys.Date(), "-"))[1]
month = unlist(str_split(Sys.Date(), "-"))[2]
dt = strptime(sprintf("%s-%s-%s %s:%s:%s", year, month, day, hour, min, 0), "%Y-%m-%d %H:%M:%S")
dt = "2017-10-13 09:50:00 GMT"