如何解决如何将 as.character("%d-%m-%Y hh:mm") 转换为 "%d-%m-%y"
我有这些时间dd-mm-yyyy hh:mm
date
1 14-02-2020 21:02
2 30-04-2019 10:46
3 26-01-2019 10:10
4 26-04-2018 13:38
5 13-07-2017 10:24
6 03-02-2020 13:38
7 16-09-2020 19:35
8 10-02-2020 04:46
9 08-09-2017 13:34
10 08-09-2017 13:34
我想格式化为 dd-mm-yyyy
。我试过了
p %>% mutate(new = format(as.Date(times,"%d-%m-%Y hh:mm"),"%d%m%y"))
但这没有用
p <- structure(list(times = c("14-02-2020 21:02","30-04-2019 10:46","26-01-2019 10:10","26-04-2018 13:38","13-07-2017 10:24","03-02-2020 13:38","16-09-2020 19:35","10-02-2020 04:46","08-09-2017 13:34","08-09-2017 13:34"
)),row.names = c(NA,10L),class = "data.frame")
解决方法
根据您的 dput,p$dates 变量采用日期和时间格式。使用 as.Date()
解析时,排除小时/分钟/秒信号。
p %>% mutate(dmy_date = as.Date(times,format = "%d-%m-%Y"))
times dmy_date
1 14-02-2020 21:02 2020-02-14
2 30-04-2019 10:46 2019-04-30
3 26-01-2019 10:10 2019-01-26
4 26-04-2018 13:38 2018-04-26
5 13-07-2017 10:24 2017-07-13
6 03-02-2020 13:38 2020-02-03
7 16-09-2020 19:35 2020-09-16
8 10-02-2020 04:46 2020-02-10
9 08-09-2017 13:34 2017-09-08
10 08-09-2017 13:34 2017-09-08
,
有很多方法可以做到。我喜欢第一次约会。但是如果你只是想从字符向量中剥离一些东西,你可以这样做
p$times <- substr(p$times,1,10)
> p
times
1 14-02-2020
2 30-04-2019
3 26-01-2019
4 26-04-2018
5 13-07-2017
6 03-02-2020
7 16-09-2020
8 10-02-2020
9 08-09-2017
10 08-09-2017
,
带有 sub
的选项
sub("\\s+.*","",p$times)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。