微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在R栏中的日期中添加午夜时间戳记?

如何解决如何在R栏中的日期中添加午夜时间戳记?

我在R数据框中有一列日期,看起来像这样,

   Date
2020-08-05
2020-08-05
2020-08-05
2020-08-07
2020-08-08
2020-08-08

因此日期格式为“ yyyy-mm-dd”。

我正在将此数据帧写入需要以非常特定的方式格式化的CSV。我需要将这些日期转换为格式“ mm / dd / yyyy hh:mm:ss”,所以这就是我希望这些列看起来像的样子:

       Date
8/5/2020 12:00:00 AM
8/5/2020 12:00:00 AM
8/5/2020 12:00:00 AM
8/7/2020 12:00:00 AM
8/8/2020 12:00:00 AM
8/8/2020 12:00:00 AM

日期没有开头的时间戳,因此所有日期都需要采用上述格式的午夜时间戳。

昨天我花了很多时间试图强制这种格式,但无法。我可以很容易地使用as.Date()将2020-08-05更改为8/5/2020,但是当我尝试添加午夜时间戳时就会出现问题。

如何为这些重新格式化的日期添加午夜时间戳记?

非常感谢您的帮助!

解决方法

您可以使用format

df <- data.frame(Date = as.Date(c("2020-08-05","2020-08-07")))
format(df$Date,"%d-%m-%Y 12:00:00 AM")
[1] "05-08-2020 12:00:00 AM" "07-08-2020 12:00:00 AM"
,
dat <- data.frame(
  Date = as.Date("2020-08-05") + c(0,2,3,3)
)

dat[["Date"]] <- format(dat[["Date"]],"%m/%d/%Y %I:%M:%S %p")
dat[["Date"]] <- sub("([ap]m)$","\\U\\1",dat[["Date"]],perl = T)

dat
##                     Date
## 1 08/05/2020 12:00:00 AM
## 2 08/05/2020 12:00:00 AM
## 3 08/05/2020 12:00:00 AM
## 4 08/07/2020 12:00:00 AM
## 5 08/08/2020 12:00:00 AM
## 6 08/08/2020 12:00:00 AM

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。