gpt4 book ai didi

r - 将字符串转换为日期时间 R

转载 作者:行者123 更新时间:2023-12-04 12:20:39 26 4
gpt4 key购买 nike

我想在 R 中将字符串转换为日期时间。

例如,我将 '20110101000' 作为字符串。我想将其转换为日期时间“2011-01-01 00:00”。另外我想'2011-01-01 01:00'减去'2011-01-01 00:00'= 1小时。最终,我想要一个条件,如果两个日期时间之间的时差不等于 1 小时

if(diff != 1){do something}

目前,我使用 as.Date 可以很好地将字符串转换为日期,但没有任何时间选项。 POSIXt 的结构也给了我一个奇怪的结果。
structure('201101010000',class=c('POSIXt', 'POSIXct'))
[1] "8342-08-21 19:40:00 EDT"

我有 100,000 多个文件必须运行此操作。请让我知道最有效的解决方案。

最佳答案

您可以使用 Base R 包。

将日期转换为 POSIXcts。看看下面的代码。

    dt1 <- c("201101010100")
dt2 <- c("201101010200")

date1 <- as.POSIXct(dt1, format="%Y%m%d%H%M")
date2 <- as.POSIXct(dt2, format="%Y%m%d%H%M")

diff <- difftime(date2, date1, units="hours")
if(diff != 1) {
print("do something")
}

关于r - 将字符串转换为日期时间 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29111017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com