Ansible에서 날짜 형식을 DD-MM-YYYY에서 YYYY-MM-DD로 다시 지정합니다.

Ansible에서 날짜 형식을 DD-MM-YYYY에서 YYYY-MM-DD로 다시 지정합니다.

내가 이 string 을 가지고 있다고 가정해 봅시다 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'

관련 정보