非常时期格式
问题描述:
我有存储作为因素,如在数据帧中的一列的下方的日期格式:非常时期格式
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)
如何从上面的格式中提取时间?我不知道正则表达式。
答
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")
'lubridate :: ymd_hms( “2017-02-19T21:10:18.664 + 00:00”)' –
这些是[组合日期和时间表示(https://en.wikipedia.org/ wiki/ISO_8601),包括一个时区偏移量('+00:00',在这种情况下,意思是“与UTC的差异为零小时”),因此没有什么不寻常的。 – 2017-07-17 16:47:21
@Hugo在结构上是不寻常的,我没有遇到过这个,也找不到任何方法去解决它。非常感谢指针。 –