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

R语言新手求助:将数据框日期时间格式改为YYYY-MM-DD HH:MM

解决R语言日期时间格式转换问题

先说说你之前代码里的几个问题:

  • 用as.Date()只能处理日期部分,会直接丢掉时间信息;而且你写的格式字符串"%d/%m/%Y/%H/%M"是错的——原数据里日期和时间之间是空格,不是斜杠,正确格式应该是"%d/%m/%Y %H:%M"。
  • order()是用来排序的,根本不是做格式转换的,用在这完全不对。

下面给你两种正确的处理方式:

方式1:转换成R的日期时间类型(推荐)

这种方式会把DateTime列转成POSIXct类型(R里专门处理带时间的日期格式),后续做时间相关的操作(比如筛选、排序、计算)都更方便:

# 先模拟你的数据框(如果已有fdata可以跳过这步)
fdata <- data.frame(
  DateTime = c("18/07/2010 12:00", "18/07/2010 12:00", "18/07/2010 12:00"),
  Depth = c(0.00, 0.50, 1.00),
  Temp = c(22.2, 21.1, 21.8)
)

# 转换为POSIXct类型
fdata$DateTime <- as.POSIXct(fdata$DateTime, format = "%d/%m/%Y %H:%M")

# 查看结果(默认显示格式就是YYYY-MM-DD HH:MM:SS,若想去掉秒可再格式化)
fdata$DateTime

方式2:直接转成指定格式的字符串

如果只是需要把字符串改成YYYY-MM-DD HH:MM的格式,不需要日期时间类型,可以先转成POSIXct再用format()函数输出:

# 转换并格式化
fdata$DateTime <- format(as.POSIXct(fdata$DateTime, format = "%d/%m/%Y %H:%M"), "%Y-%m-%d %H:%M")

# 查看结果
fdata$DateTime

试一下上面的代码,就能解决你之前的NA问题了——之前的NA就是因为格式字符串和原数据不匹配,R解析失败才生成的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 15:55:14