将带有日期和时间信息的字符串列转换为R [duplicate]中的datetime类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将带有日期和时间信息的字符串列转换为R [duplicate]中的datetime类型相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我从体育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日期表示的一部分。
答案
我们可以使用来自ymd_hms
的lubridate
,它将挑选字符串中的T
部分
library(tidyverse)
mydf %>%
mutate(startTime = ymd_hms(startTime))
或者在format
中指定字符串'T'
as.POSIXct(mydf$startTime, format = '%Y-%m-%dT%H:%M:%S')
以上是关于将带有日期和时间信息的字符串列转换为R [duplicate]中的datetime类型的主要内容,如果未能解决你的问题,请参考以下文章
使用 SQL 将字符串列转换为 mongodb 中的日期时间