You need to enable JavaScript to run this app. 如何使用Ansible计算指定格式两个日期变量之间的秒数差
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Ansible计算指定格式两个日期变量之间的秒数差

解决Ansible自定义格式日期的秒数差计算问题

Ansible 的 to_datetime 过滤器默认使用 %Y-%m-%d %H:%M:%S 格式解析日期,你遇到报错是因为输入日期格式和默认格式不匹配,可通过传入自定义格式参数解决:

  • 你当前使用的 MM/DD/YYYY HH:MM:SS.sss 格式日期,对应的解析格式串为 %m/%d/%Y %H:%M:%S.%f
    • %m 匹配两位数月份
    • %d 匹配两位数日期
    • %Y 匹配四位数年份
    • %H 匹配24小时制小时
    • %M 匹配分钟
    • %S 匹配秒
    • %f 匹配微秒,可兼容3位毫秒的输入场景
  • 如果你的日期规则为DD/MM/YYYY,把格式串中的%m和%d位置互换即可。

完整示例代码

- name: 计算自定义格式日期的秒数差
  hosts: localhost
  gather_facts: false
  vars:
    date1: "06/01/2021 00:10:15.434"
    date2: "06/01/2021 00:10:26.667"
  tasks:
    - name: 输出时间差计算结果
      debug:
        msg: "两个日期的秒数差为 {{ (date2 | to_datetime('%m/%d/%Y %H:%M:%S.%f') - date1 | to_datetime('%m/%d/%Y %H:%M:%S.%f')).total_seconds() }}"

运行后输出结果为11.233,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 12:36:04