Ansible-将时间戳转换为可读格式



我有一个带有时间戳的变量,需要将其转换为可读格式。这里有一个例子:

- name: Extract timestamp from output
set_fact:
timestamp: "{{ output.json | json_query(snap_timestamp) }}"
vars:
snap_timestamp: "[*].{Timestamp: timestamp}"

我得到的输出是:

{
"msg": "timestamp is [{'Timestamp': 1662628573}]"
}

然后我试着用这些过滤器转换它,但它不起作用

- name: Convert timestamp to a human readable format
set_fact:
snap_timestamp_converted: "{{ snap_timestamp[0] | to_json | '%Y-%m-%d %H:%M:%S' | strftime }}"

知道吗?

谢谢。

正确的语法如下。请参阅的处理日期和时间

snap_timestamp_converted: "{{ '%Y-%m-%d %H:%M:%S'|strftime(timestamp) }}"

例如,战术手册

- hosts: localhost
vars:
timestamp: 1662628573
snap_timestamp_converted: "{{ '%Y-%m-%d %H:%M:%S'|strftime(timestamp) }}"
tasks:
- debug:
var: snap_timestamp_converted

给出

snap_timestamp_converted: '2022-09-08 11:16:13'

最新更新