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

在R语言中如何从datetime日期时间数据中提取月份和年份

实现方案

以下给出两种常用实现方式,运行前需保证Order.Date列已转换为日期格式:

方案1:使用lubridate包(推荐,代码更易读)

lubridate包封装了非常友好的日期处理函数,直接调用内置方法即可得到目标结果:

# 加载包(未安装先运行 install.packages("lubridate") 安装)
library(lubridate)

# 若Order.Date是字符串格式,先转成日期类型
df$Order.Date <- ymd(df$Order.Date)

# 提取英文全称月份:label=TRUE返回名称而非数字,abbr=FALSE指定返回全称而非缩写
df$Month <- month(df$Order.Date, label = TRUE, abbr = FALSE)
# 提取年份
df$Year <- year(df$Order.Date)

方案2:使用base R实现(无需安装额外包)

用base R的format函数配合日期格式符也可实现:

# 转日期格式
df$Order.Date <- as.Date(df$Order.Date)

# 若你的系统locale不是英文,先运行以下代码临时切换时间locale为英文,避免得到中文月份
# Windows系统:
# Sys.setlocale("LC_TIME", "English")
# Mac/Linux系统:
# Sys.setlocale("LC_TIME", "en_US.UTF-8")

# 提取4位年份
df$Year <- format(df$Order.Date, "%Y")
# 提取英文全称月份
df$Month <- format(df$Order.Date, "%B")

运行以上任意一种方案,就能得到你需要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:00:03