json - Ansible将月份转换为整数
问题描述
我还没有找到任何东西。
我正在使用 Ansible,我正在尝试在相当长的一段时间后更改一些值。
但我的问题是我得到的值如下:
2020 Nov 19
但我需要它像:
2020 11 19
我怎样才能做到这一点?
解决方案
使用to_datetime
,strftime
你可以实现它。要应用的过滤器是:
"{{ '%Y %m %d' | strftime(( my_date_string | to_datetime('%Y %b %d')).strftime('%s')) }}"
作为参考,请参阅此处的示例。这个想法是使用 将您的字符串值转换为日期to_datetime
时间,然后使用 将其转换为纪元时间strftime
,最后将其重新格式化为您想要的YYYY MM DD
。
带有 3 个示例日期的 PB:
---
- hosts: localhost
gather_facts: false
vars:
my_date_examples:
- "2020 Nov 04"
- "2020 Apr 11"
- "2020 Aug 23"
tasks:
- name: reformat date string
debug:
msg: "{{ '%Y %m %d' | strftime(( item | to_datetime('%Y %b %d')).strftime('%s')) }}"
loop: "{{ my_date_examples }}"
输出:
TASK [reformat date string] *******************************************************************************************************************************************************************************************
ok: [localhost] => (item=2020 Nov 04) => {
"msg": "2020 11 04"
}
ok: [localhost] => (item=2020 Apr 11) => {
"msg": "2020 04 11"
}
ok: [localhost] => (item=2020 Aug 23) => {
"msg": "2020 08 23"
}
干杯
推荐阅读
- javascript - 在 Promise.all() 中自定义被拒绝的响应
- linux-kernel - 引导选项 noapic 和 noacpi 实际上是做什么的?
- shared-libraries - 共享库按什么顺序初始化和完成?
- ruby-on-rails - 使用 RMagick 将 PDF 文件转换为 PNG 并保持高质量的最佳方法是什么?
- java - 可以同时使用 Java 7 和 Java 8 和两个不同的应用程序吗?
- azure - 将多个 Office 365 租户帐户同步到单个 AD 域
- java - 在Java中生成任意长度的任意随机数
- python - 从 qtDesigner .ui 文件中读取 QWidgets 值到 python
- user-interface - 如何更改 Neovim Qt 字体?
- cordova - SSE 无法通过使用域名在 android 中运行