2017-10-13 53 views
0

我打電話的時間格式爲130800Z,它表示時間,小時和分鐘。我想知道是否有一種簡單的方法來轉換它?R轉換時間格式130800Z - 天,小時,分鐘

我的做法是字符串分割Sys.Date獲得年份和月份,然後分裂每隔2個字符130800Z結果全部合併到2017-10-13 08:00:00

只是不知道是否有使用striptime(sprintf(...無需拆分的方式什麼?

+0

在'130800Z',是一年中的哪一天? – akrun

+0

沒有一個月的日子,因此使用'Sys.date'作爲其他數據 - api每小時更新一次,所以沒有錯誤的月/年的問題 – Olivia

+0

日月,小時,分鐘(UTC) – Olivia

回答

2

試試這個:

strptime(x = time,format = "%d%H%M",tz = "GMT") 
#[1] "2017-10-13 08:00:00 GMT" 
+0

甚至比我預期的更容易哈哈 – Olivia

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"

相關問題