私がこの文字列を持っているとしましょう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'
同じ結果を提供する素晴らしい1行コード(クレジット@ 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'