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

使用lubridate解析无前置零日期报错,该如何解决?

解决lubridate解析无前置零日期的问题

你遇到的问题是因为lubridate::as_date()自动解析时没匹配到你的日期格式,这种不带前置零的日期(比如7-10-2013 10:18),用lubridate的这两种方法就能处理:

方法1:用对应格式的快捷函数

lubridate提供了一系列按日期顺序命名的快捷函数,自动支持单个数字的日/月:

  • 如果你的日期是日-月-年 时:分格式,用dmy_hm()先解析为时间对象,再转成日期:
library(lubridate)
date_str <- "7-10-2013 10:18"
parsed_date <- as_date(dmy_hm(date_str))
  • 如果是月-日-年 时:分格式,换用mdy_hm():
parsed_date <- as_date(mdy_hm(date_str))

方法2:用parse_date_time()指定解析规则

如果日期格式更复杂,或者不确定顺序,可以用parse_date_time()明确格式模板:

# 对应日-月-年 时:分的模板
parsed_datetime <- parse_date_time(date_str, orders = "%d-%m-%Y %H:%M")
parsed_date <- as_date(parsed_datetime)

# 对应月-日-年 时:分的模板
parsed_datetime <- parse_date_time(date_str, orders = "%m-%d-%Y %H:%M")
parsed_date <- as_date(parsed_datetime)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:15:39