【问题标题】:Convert dates and time as characters to a date and time format [duplicate]将日期和时间作为字符转换为日期和时间格式[重复]
【发布时间】:2022-02-22 08:24:40
【问题描述】:

我有一个包含两列日期和时间的 df,我想将它们从字符转换为日期和时间格式。有人可以帮忙吗?谢谢

dput(df)
structure(list(start_date = c("2021-03-01 00:00:03", "2021-03-01 00:02:04", 
"2021-03-01 00:02:29"), finish_date = c("2021-03-01 00:16:29", 
"2021-03-01 00:35:40", "2021-03-01 00:33:14")), row.names = c(NA, 
3L), class = "data.frame")

我试过了,但是没用

 as.Date.POSIXct(df$start_date, format="%Y/%m/%dT%H:%M:%S"

 as.Date.POSIXct(df$finish_date, format="%Y/%m/%dT%H:%M:%S"

【问题讨论】:

  • anytime 包可以帮助您自动尝试多种合理的格式。

标签: r datetime


【解决方案1】:
as.POSIXct('2021-03-01 00:03:04')

见:past question

【讨论】:

  • 您可以使用dput(df) 并将R 的输出粘贴到您的问题中吗?这是为了制作可重现的数据集
  • 我使用 dput(df) 使事情变得更容易。您能否提供我需要在此数据框中使用的确切代码以获得所需的结果?谢谢
  • df <- lapply(df, \(i) as.POSIXct(i)) 使用您提供的数据我运行lapply(df, class) 来检查返回"POSIXct" "POSIXt" 的所有列的类
  • 使用下面的内容应用于特定的列:x <- c('start_date', 'finish_date'); df[x] <- lapply(df[x], \(i) as.POSIXct(i))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-26
  • 2013-03-24
  • 1970-01-01
  • 1970-01-01
  • 2015-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多