将带有日期和时间信息的字符串列转换为R [duplicate]中的datetime类型

问题描述 投票:0回答:1

这个问题在这里已有答案:

我从体育API中提取数据,并且我收到了以下需要使用的startTime列的格式:

> dput(mydf)
structure(list(id = 29019:29023, startTime = c("2015-10-07T23:00:00.000Z", 
"2015-10-08T00:00:00.000Z", "2015-10-08T02:00:00.000Z", "2015-10-08T02:30:00.000Z", 
"2015-10-08T23:00:00.000Z")), row.names = c(NA, 5L), class = "data.frame")

> mydf
     id                startTime
1 29019 2015-10-07T23:00:00.000Z
2 29020 2015-10-08T00:00:00.000Z
3 29021 2015-10-08T02:00:00.000Z
4 29022 2015-10-08T02:30:00.000Z
5 29023 2015-10-08T23:00:00.000Z

> class(mydf$startTime)
"character"

我需要(a)将其转换为日期时间类型(不确定哪种类型最好,我知道R中有一些日期时间类型),然后(b)将时间调整5或8小时,由于显示的时间是GMT,我喜欢ET或PT时间。

任何帮助如何做到这一点非常感谢!

编辑:显然这是ISO-8601日期表示的一部分。

r datetime data-manipulation
1个回答
0
投票

我们可以使用来自ymd_hmslubridate,它将挑选字符串中的T部分

library(tidyverse)
mydf %>% 
   mutate(startTime = ymd_hms(startTime))

或者在format中指定字符串'T'

as.POSIXct(mydf$startTime, format = '%Y-%m-%dT%H:%M:%S')
© www.soinside.com 2019 - 2024. All rights reserved.