2017-07-17 29 views
1

我有存儲作爲因素,如在數據幀中的一列的下方的日期格式:非常時期格式

2017-02-19T21:10:18.664+00:00 
2017-03-10T21:40:50.398+00:00 

示例數據:

head(dataset$local_end_datetime) 
[1] 2017-02-19T21:10:18.664+00:00 2017-02-19T21:10:38.418+00:00 
[3] 2017-03-10T21:40:50.398+00:00 2017-03-11T16:41:43.339+00:00 
[5] 2017-03-10T21:43:31.092+00:00 2017-03-10T21:34:36.065+00:00 

我需要日期和時間相同。我可以找到使用以下提取日期:

dataset$Date <- as.Date(dataset$local_end_datetime) 

如何從上面的格式中提取時間?我不知道正則表達式。

+2

'lubridate :: ymd_hms( 「2017-02-19T21:10:18.664 + 00:00」)' –

+0

這些是[組合日期和時間表示(https://en.wikipedia.org/ wiki/ISO_8601),包括一個時區偏移量('+00:00',在這種情況下,意思是「與UTC的差異爲零小時」),因此沒有什麼不尋常的。 – 2017-07-17 16:47:21

+0

@Hugo在結構上是不尋常的,我沒有遇到過這個,也找不到任何方法去解決它。非常感謝指針。 –

回答

1
Library Lubridate is quite powerful when it comes to manipulating dates 

dataset$datetime <- lubridate::ymd_hms(dataset$local_end_datetime) 
dataset$Local_Date <- as.Date(dataset$datetime) 
dataset$Local_Time <- format(dataset$datetime,"%H:%M:%S")