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

Python如何将任意顺序的人性化时间字符串转为datetime或Unix时间

实现方向指引
  • 第一步:定义单位映射规则与匹配正则
    先明确所有支持的时间单位对应关系,比如 y=年、M=月、d=日、h=时、m=分、s=秒,注意区分大小写避免月和分的标识冲突。写正则表达式全局匹配输入字符串里的「数字+单位」组合,比如用r'(\d+)([yMdhms])'可以无视输入顺序提取所有有效字段。
  • 第二步:初始化缺省基准时间
    取当前时间(按需选择本地时间或UTC时间)作为基准,未被用户输入覆盖的字段默认继承基准时间的取值,比如用户没输入年份就默认用当前年份,和你给出的示例逻辑一致。
  • 第三步:覆盖生成目标时间
    把正则提取到的所有字段值,逐个替换基准时间的对应字段,不管用户输入顺序,只要对应单位替换对应属性即可,比如提取到6h就改小时字段为6,提取到4M就改月份字段为4。
  • 第四步:合法性校验与结果转换
    校验生成的时间是否合法(比如避免出现2月30日、13月这类无效值),校验通过后直接调用datetime对象的timestamp()方法即可得到Unix时间戳。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:09:04