You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让anytime包的anytime函数正确识别日和月?

解决anytime函数日期格式识别错误的问题

你遇到的这个问题是因为anytime()默认的日期格式识别逻辑会优先匹配美式的「月-日-年」模式,所以把你的「日.月.年」格式搞反了。这里有两个靠谱的解决办法:

  • 指定精确格式强制识别
    anytime()函数支持传入format参数来明确告诉它输入的日期格式,避免自动识别出错。针对你的字符串,格式应该是%d.%m.%Y %H:%M:%S(其中%d代表日,%m代表月,%Y代表4位年份,后面的是时分秒)。执行代码如下:

    anytime::anytime("07.01.2009 22:40:00", format = "%d.%m.%Y %H:%M:%S")
    

    这样就能正确返回对应时区的2009-01-07 22:40:00结果。

  • 使用lubridate包的专用函数
    如果你的项目里已经在用lubridate(很多R数据分析场景都会用到),直接用dmy_hms()函数会更省心——它专门针对「日-月-年 时:分:秒」的格式设计,完全不用额外配置:

    lubridate::dmy_hms("07.01.2009 22:40:00")
    

    这个函数会直接正确解析你的日期字符串,得到想要的结果。

这两种方法都能解决你的问题,选哪个看你的项目环境和个人习惯就好~

内容的提问来源于stack exchange,提问作者daniellga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 23:02:54