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

如何在Ansible中为当前时间戳添加指定时长?

解决方案

你可以通过两种方式实现时间叠加需求,优先推荐Ansible原生方案,兼容性更强:

1. 跨平台原生方案(推荐)

无需依赖系统命令,所有Ansible运行环境通用:

# 写法1:通过时间戳计算(兼容所有Ansible版本)
vars:
  # 300秒 = 5分钟
  start_time: "{{ (ansible_date_time.epoch | int + 300) | strftime('%Y-%m-%d %r') }}"
  # 900秒 = 15分钟
  end_time: "{{ (ansible_date_time.epoch | int + 900) | strftime('%Y-%m-%d %r') }}"

# 写法2:通过timedelta直观定义(Ansible 2.10及以上版本支持)
vars:
  start_time: "{{ (now() + timedelta(minutes=5)) | strftime('%Y-%m-%d %r') }}"
  end_time: "{{ (now() + timedelta(minutes=15)) | strftime('%Y-%m-%d %r') }}"

如果需要输出UTC时间,把now()替换为utcnow()即可。

2. 系统date命令适配方案

仅Linux控制节点可用,修改你原有调用date命令的写法即可:

vars:
  start_time: "{{ lookup('pipe', 'date -d \"+5 min\" +\"%Y-%m-%d %r\"') }}"
  end_time: "{{ lookup('pipe', 'date -d \"+15 min\" +\"%Y-%m-%d %r\"') }}"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:54:05