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

将Timestamp转换为MMM-YYYY格式并按月份顺序排序的实现方法

时间戳转换为月份-年份格式并排序的实现方案

以下是几种常用工具/语言的落地实现方法,覆盖多数开发场景:

Python 实现

  1. 单条时间戳转换
    用datetime模块完成解析与格式化,直接输出目标格式:
from datetime import datetime

raw_timestamp = "2020-03-15 14:30:00"
# 解析原始时间字符串
dt = datetime.strptime(raw_timestamp, "%Y-%m-%d %H:%M:%S")
# 转换为JAN-2020格式并转大写
formatted_date = dt.strftime("%b-%Y").upper()
print(formatted_date)  # 输出 MAR-2020
  1. 批量列表排序
    处理批量数据时,基于原始时间对象排序更稳妥,避免月份缩写排序的异常:
timestamp_list = [
    "2020-12-01 00:00:00",
    "2020-01-15 10:00:00",
    "2020-06-30 18:00:00"
]

# 生成(时间对象, 格式化字符串)的元组列表
processed = [
    (datetime.strptime(ts, "%Y-%m-%d %H:%M:%S"), datetime.strptime(ts, "%Y-%m-%d %H:%M:%S").strftime("%b-%Y").upper())
    for ts in timestamp_list
]

# 按时间对象排序后提取格式化结果
sorted_result = [item[1] for item in sorted(processed, key=lambda x: x[0])]
print(sorted_result)  # 输出 ['JAN-2020', 'JUN-2020', 'DEC-2020']

SQL(以MySQL为例)实现

通过内置函数一步完成格式转换与排序:

-- 转换格式并按原始时间升序排序
SELECT 
    UPPER(DATE_FORMAT(timestamp_col, '%b-%Y')) AS formatted_month
FROM 
    your_table
ORDER BY 
    timestamp_col ASC;

也可以显式按年、月排序,效果完全一致:

ORDER BY YEAR(timestamp_col), MONTH(timestamp_col);

Excel 实现

  1. 格式转换:假设原始时间在A1单元格,在空白单元格输入公式后下拉填充:
=UPPER(TEXT(A1,"mmm-yyyy"))
  1. 排序:选中转换后的列,点击「数据」选项卡的「排序」按钮,Excel会自动识别底层日期信息,按1-12月的自然顺序排序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:10:28