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

如何在R中正确将mm/dd/yyyy格式字符型日期转为POSIXct类型?

解决POSIXct日期转换错位问题

你的核心问题是日期格式符指定错误,导致解析逻辑完全偏离预期。针对你的mm/dd/yy 时:分:秒 AM/PM格式,正确的格式符组合如下:

正确转换代码

# 重新加载数据(确保初始状态正确)
date_time<-c("6/5/22 10:22:01 AM", "6/5/22 10:23:01 AM", "6/5/22 10:24:01 AM", "6/5/22 10:25:01 AM", "6/5/22 10:26:01 AM", "6/5/22 10:27:01 AM",
 "6/5/22 10:28:01 AM", "6/5/22 10:29:01 AM", "6/5/22 10:30:01 AM", "6/5/22 10:31:01 AM", "6/5/22 10:32:01 AM", "6/5/22 10:33:01 AM")
temp<-c(21.296, 22.047, 22.798, 22.422, 22.172, 22.673, 22.360, 22.110, 21.922, 21.797, 21.672, 21.609)

df<-data.frame(date_time,temp)

# 关键:使用正确的格式符转换
df$date_time <- as.POSIXct(df$date_time, format = "%m/%d/%y %I:%M:%S %p")

# 查看结果
df
str(df)

格式符说明

  • %m:数字格式的月份(1-12)
  • %d:数字格式的日期(1-31)
  • %y:两位数字的年份(22会自动解析为2022)
  • %I:12小时制的小时数(1-12,对应AM/PM)
  • %M:分钟数
  • %S:秒数
  • %p:AM/PM标识(区分上午/下午)

验证结果

转换后date_time列会被正确解析为POSIXct类型,日期显示为2022-06-05 10:22:01这类正确格式,不会出现0006年的错误。

内容的提问来源于stack exchange,提问作者Marta Román

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 23:32:26