假设我有这个字符串22-12-2021
。
我希望它与 Ansible 一起使用2021-12-22
。
知道是否有办法做到这一点?
答案1
如何在 Ansible 中操作字符串有很多选项,例如
- set_fact:
d2: "{{ _a.2 }}-{{ _a.1 }}-{{ _a.0 }}"
vars:
d1: 22-12-2021
_a: "{{ d1.split('-') }}"
给出
d2: '2021-12-22'
这是一个很好的单行(信用@Sijaan Hallak),它给出了相同的结果
- set_fact:
d2: "{{ d1.split('-')[::-1]|join('-') }}"
vars:
d1: 22-12-2021
下一个选项是处理日期和时间函数,例如创建日期对象
set_fact:
d2: "{{ d1|to_datetime('%d-%m-%Y') }}"
vars:
d1: 22-12-2021
给出
d2: '2021-12-22 00:00:00'
并使用时间过滤器以格式化字符串,例如
set_fact:
d2: "{{ (d1|to_datetime('%d-%m-%Y')).strftime('%Y-%m-%d') }}"
给出
d2: '2021-12-22'