在Argo中格式化日期

问题描述

为了在Argo中获得像20201008这样的日期,在模板中格式化日期的最佳方法是什么?

这似乎可行,但相当冗长,为"%Y-%m-%dT%H:%M:%SZ"之类的字符串创建字符串将使其他人很难阅读。

 "{{workflow.creationTimestamp.Y}}{{workflow.creationTimestamp.m}}{{workflow.creationTimestamp.d}}"

我认为这些是相关文档:https://github.com/argoproj/argo/blob/master/docs/variables.md。我尝试过"{{workflow.creationTimestamp.Ymd}}",但是没有运气。

解决方法

不幸的是,没有办法(在模板内部)使这一点更加简洁。

hard-coded list个受支持的时间格式字符。 For each character in that list,a global parameter is populated,以及基本workflow.creationTimestamp变量。 workflow.creationTimestamp.之后没有动态读取或处理字符。

由于模板是基于Jinja2的,因此discussion支持更健壮的字符串模板。但是各种复杂的情况使讨论陷入僵局。 (Argo团队使用“竖起大拇指”计数来确定问题的优先级,因此可能会有所帮助。)

我确定您已经想到了这一点,但是为了完整起见:如果您在Pod中使用变量,则可以发送完整的workflow.creationTimestamp并进行一些运行时操作以获取格式想要。

最后,您可以submit an issue来请求功能。即使他们决定不实施它,该示例也会使有关Jinja2的讨论对开发人员而言更加具体。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...