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

求助:获取上月(2022年12月)相对本月(2023年1月)的动态表达式

获取上月的动态表达式

以下是不同常用工具中,能动态计算当前(或指定)年月对应上月的表达式,自动处理跨年情况(比如2023年1月的上月为2022年12月):

Excel/Google Sheets

  • 动态获取当前日期的上月(返回日期格式):
    =EDATE(TODAY(), -1)
  • 动态获取当前日期的上月并格式化为「yyyy年mm月」:
    =TEXT(EDATE(TODAY(), -1), "yyyy年mm月")
  • 指定特定年月(如2023年1月)计算上月:
    =TEXT(EDATE(DATE(2023,1,1), -1), "yyyy年mm月")

Python

借助datetime和relativedelta模块处理跨年月计算:

from datetime import datetime
from dateutil.relativedelta import relativedelta

# 方式1:基于当前系统时间计算上月
current_time = datetime.now()
last_month = current_time - relativedelta(months=1)
print(last_month.strftime("%Y年%m月"))  # 输出示例:2022年12月

# 方式2:指定特定年月(如2023年1月)计算上月
specified_date = datetime(2023, 1, 1)
last_month_specified = specified_date - relativedelta(months=1)
print(last_month_specified.strftime("%Y年%m月"))  # 输出:2022年12月

SQL(主流数据库实现)

  • MySQL/MariaDB:
    动态获取当前日期的上月并格式化:
    SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y年%m月');
  • SQL Server:
    SELECT FORMAT(DATEADD(MONTH, -1, GETDATE()), 'yyyy年MM月');
  • Oracle:
    SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -1), 'yyyy"年"mm"月"') FROM DUAL;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 21:35:26