使用timeDate库从当前日期提取数字形式的上月月份
用timeDate库提取上月数字月份
直接用timeDate的addMonths()和month()组合就能搞定,代码如下:
library("timeDate") # 处理当前日期的场景 current_date <- as.timeDate(Sys.Date()) prev_month <- month(addMonths(current_date, -1)) # 验证你给的两个示例 # 示例1:日期为"2022-12-09" demo_date1 <- as.timeDate("2022-12-09") month(addMonths(demo_date1, -1)) # 返回11 # 示例2:日期为"2023-01-03" demo_date2 <- as.timeDate("2023-01-03") month(addMonths(demo_date2, -1)) # 返回12
简单说下逻辑:
addMonths(日期, -1):把目标日期往前推一个月,跨年的情况(比如1月转去年12月)会自动处理month():从调整后的日期里直接提取数字形式的月份,就是你要的结果
内容的提问来源于stack exchange,提问作者ixodid
相关产品推荐
相关产品推荐

