如何在 Ansible 中向当前时间戳添加时间?

问题描述 投票:0回答:2

我正在尝试在 Ansible 中自动执行一些任务,虽然我已经完成了其他所有任务,但我需要一个 start_time 和 end_time 变量,将时间添加到当前时间戳,因为 ServiceNow 系统在创建时不接受当前时间戳变更请求。

例如,我有一个变量 start_time 为

"{{ lookup('pipe', date +\"%Y-%m-%d %r\"') }}"
但我需要将其设置为当前时间 +5 分钟。 同样在 end_date,但大约 +15 分钟。

ansible jinja2
2个回答
5
投票

类似的东西?

{{ ansible_date_time.date }}
{{ ansible_date_time.hour | int +1 | int }}
{{ ansible_date_time.minute | int +15 | int }}

4
投票

如果您要使用

lookup
_plugins 和
pipe
,您可以使用
date +"%Y-%m-%d %r" -d "5 mins"
添加 5 分钟。

感谢

尽管如此,还是建议使用 Ansible 变量,例如来自事实的

ansible_date_time

date_time:
  date: '2021-11-23'
  day: '23'
  epoch: '1637678908'
  hour: '15'
  iso8601: '2021-11-23T14:48:28Z'
  iso8601_basic: 20211123T154828773386
  iso8601_basic_short: 20211123T154828
  iso8601_micro: '2021-11-23T14:48:28.773386Z'
  minute: '48'
  month: '11'
  second: '28'
  time: '15:48:28'
  tz: CET
  tz_offset: '+0100'
  weekday: Tuesday
  weekday_number: '2'
  weeknumber: '47'
  year: '2021'

在那里,您可以使用

epoch
minute
或适合您的用例的内容。请参阅此处的其他答案

© www.soinside.com 2019 - 2024. All rights reserved.