2017-09-02 73 views
0

請你告訴我如何從中提取日期和時間(「2015-08-11 03:14:00 UTC - 2015-08-11 04:14: 00 UTC「)。請注意,該字符串包含兩個日期和兩個時間間隔。我想將它分解成4個單獨的字符串,如日期1,時間1,日期2,時間2,然後將它們存儲在4個單獨的向量中。從一個字符串中提取兩個合併的日期和時間

謝謝。

+0

在R A時間對象必須有一個與之關聯的日期。爲了進一步分析,我建議保留時間部分與日期並將結果存儲爲POSIXct對象。 – Dave2e

+0

現在我有「2015-08-10 07:14:00 UTC」作爲Chr和我使用以下,但我得到NA。 data $ datetime = as.POSIXct(data $ datetime,format ='%m /%d /%Y%H:%M')。 – Ali

+1

現在可以使用:as.POSIXct(data $ datetime,format ='%Y-%m-%d%H:%M:%S') – Ali

回答

2

請嘗試以下操作。

x <- "2015-08-11 03:14:00 UTC--2015-08-11 04:14:00 UTC" 
y <- strsplit(x, "--")[[1]] 

dates <- as.Date(y) 
times <- strftime(y, format = "%H:%M:%S") 
0

你從來沒有提到你是否需要輸入字符串的功能日期和時間。如果您需要簡單地解析時間戳的每個部分,則使用gsub是一種選擇。

x <- "2015-08-11 03:14:00 UTC--2015-08-11 04:14:00 UTC" 
y <- unlist(strsplit(x, "--")) 
dates <- sapply(y, function(x) gsub("(\\d{4}-\\d{2}-\\d{2}).*", "\\1", x)) 
times <- sapply(y, function(x) gsub(".*(\\d{2}:\\d{2}:\\d{2}.*)", "\\1", x)) 
dates 
[1] "2015-08-11" "2015-08-11" 
times 
[1] "03:14:00 UTC" "04:14:00 UTC" 

演示在這裏:

Rextester

+0

謝謝。我發現一個更簡單的方法:我們可以定義一個字符串並使用substr(str1,...,...)。 – Ali

相關問題