首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一次转换不同的日期时间格式(strptime)

一次转换不同的日期时间格式(strptime)
EN

Stack Overflow用户
提问于 2017-10-26 10:08:35
回答 1查看 608关注 0票数 2

)我的data.frame中有一列包含两种格式的日期。下面是一个很小的例子:

代码语言:javascript
运行
复制
D = data.frame(dates = c("3/31/2016", "01.12.2015"))

       dates
1 3/31/2016
2 01.12.2015

使用漂亮的函数strptime,我可以轻松地获得每种格式的日期时间:

代码语言:javascript
运行
复制
D$date1 <- strptime(D$dates, format = "%m/%d/%Y")
D$date2 <- strptime(D$dates, format = "%d.%m.%Y")

我已经找到了一个解决办法:

代码语言:javascript
运行
复制
D$date12 <- do.call(pmin, c(D[c("date1","date2")], na.rm=TRUE) )

为实现这一目标:

代码语言:javascript
运行
复制
       dates      date1      date2     date12
1  3/31/2016 2016-03-31       <NA> 2016-03-31
2 01.12.2015       <NA> 2015-12-01 2015-12-01

是否有更复杂的方法可以同时完成此转换(从日期到date12)?

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-26 10:23:47

您可以使用anytime包。

代码语言:javascript
运行
复制
library(anytime)
anytime::addFormats("%d.%m.%Y")
anydate(D$dates)

注意,anydate中的参数必须是向量,所以只需选择coloumn dates

或者使用lubridate

代码语言:javascript
运行
复制
parse_date_time(D$dates, c("mdy", "dmy")) 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46951572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档