Date Ansible:比较最后一小时两个日期之间的差异
有一种方法可以使用Date Ansible:比较最后一小时两个日期之间的差异,date,amazon-ec2,time,ansible,jinja2,Date,Amazon Ec2,Time,Ansible,Jinja2,有一种方法可以使用ansible\u date\u time 还有一个日期(aws ec2发布时间),所以我可以知道它是否发生在最后一个小时 我有以下varec2发布时间:2018-01-04T15:57:52+00:00 我知道我可以用以下方法(从和)比较天: 如果我得到0我会知道它发生在同一天,但是如果日期之间的差异1小时(在同一天),我正在寻找一种方法来判断是真是假 有一个过滤器,可以用这个或优雅的方式编写,或者只使用shell(比如)?通过减去两个日期,可以得到一个 您可以使用以秒为单位
ansible\u date\u time
还有一个日期(aws ec2发布时间),所以我可以知道它是否发生在最后一个小时
我有以下varec2发布时间:2018-01-04T15:57:52+00:00
我知道我可以用以下方法(从和)比较天:
如果我得到0我会知道它发生在同一天,但是如果日期之间的差异1小时(在同一天),我正在寻找一种方法来判断是真是假
有一个过滤器,可以用这个或优雅的方式编写,或者只使用shell(比如)?通过减去两个日期,可以得到一个 您可以使用以秒为单位获得精确的差值。添加一些基本算法以获得完整小时数:
---
- hosts: localhost
gather_facts: no
connection: local
vars:
date_later: 2018-01-05 08:30:00
date_earlier: 2018-01-05 06:50:00
tasks:
- debug:
msg: "{{ ( (date_later - date_earlier).total_seconds() / 3600 ) | int }}"
返回:
ok: [localhost] => {
"msg": "1"
}
在您想要的条件下使用上述表达式。谢谢@techraf,这对我有用
(ansible_date_time.iso8601[:19]|到_datetime(“%Y-%m-%dT%H:%m:%S”)-ec2_启动时间[:19]|到_datetime(“%Y-%m-%dT%H:%m:%S”)。总秒数()/3600 | int
ok: [localhost] => {
"msg": "1"
}