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

如何将Ansible stat模块的mtime输出转换为YYMMDD-HHMMSS格式

解决Ansible stat模块文件修改时间格式转换问题

你完全不需要切换到shell模块,Ansible自带的strftime过滤器就能轻松实现这个需求,直接把stat返回的Epoch时间戳转换成你需要的YYMMDD-HHMMSS格式。

完整可运行的Playbook示例

- name: 获取并格式化文件最后修改时间
  hosts: your_target_hosts
  tasks:
    - name: 统计目标文件状态
      stat:
        path: /path/to/file
      register: file_stat_result

    - name: 输出格式化后的修改时间
      debug:
        msg: "{{ '%y%m%d-%H%M%S' | strftime(file_stat_result.stat.mtime) }}"

关键说明

  • 这里使用的strftime过滤器是Ansible对Python标准库strftime的封装,支持所有标准时间格式化指令
  • 格式化字符串%y%m%d-%H%M%S中:
    • %y:两位年份(比如2021年返回21)
    • %m:两位月份(01-12)
    • %d:两位日期(01-31)
    • %H:24小时制的小时(00-23)
    • %M:两位分钟(00-59)
    • %S:两位秒数(00-59)
  • 注意:过滤器的使用顺序很重要——先写格式化字符串,再通过| strftime传入时间戳,这个顺序不能颠倒,这可能是你之前尝试失败的原因
  • stat模块返回的file_stat_result.stat.mtime是原生的数值型Epoch时间戳,不需要额外的类型转换,直接传给过滤器即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 15:17:32