1. 日期函数
Helm 包含以下可以在模板中使用的函数: ago, date, dateInZone, dateModify(mustDateModify), duration, durationRound, htmlDate, htmlDateInZone, now, toDate(mustToDate), and unixEpoch。
1.1. now
当前日期/时间。和其他日期函数一起使用。
1.2. ago
ago 函数返回距 time.Now
的以秒为单位的间隔时间。
ago .CreatedAt"
返回 time.Duration
的字符串格式
2h34m7s
1.3. date
date函数格式化日期
日期格式化为 YEAR-MONTH-DAY
:
now | date "2006-01-02"
日期格式化在Go中有 一些不同。
简言之,以此为基准日期:
Mon Jan 2 15:04:05 MST 2006
将其写成你想要的格式,上面的例子中,2006-01-02 是同一个日期,却是我们需要的格式。
1.4. dateInZone
和 date 一样,但是和时区一起。
dateInZone "2006-01-02" (now) "UTC"
1.5. duration
将给定的秒数格式化为 time.Duration
。
这会返回 1m35s。
duration 95
1.6. durationRound
将给定时间舍入到最重要的单位。当 time.Time
计算为一个自某个时刻以来的时间,字符串和 time.Duration
被解析为一个时间段。
这会返回2h
durationRound "2h10m5s"
这会返回3mo
durationRound "2400h10m5s"
1.7. unixEpoch
返回 time.Time
的 unix 时间戳。
now | unixEpoch
1.8. dateModify, mustDateModify
dateModify 给定一个修改日期并返回时间戳。
从当前时间减去一个小时三十分钟:
now | date_modify "-1.5h"
如果修改格式错误, dateModify 会返回日期未定义。而 mustDateModify 会返回错误。
1.9. htmlDate
htmlDate 函数用于格式化插入到 HTML 日期选择器输入字段的日期。
now | htmlDate
1.10. htmlDateInZone
和htmlDate一样,但多了个时区。
htmlDateInZone (now) "UTC"
1.11. toDate, mustToDate
toDate 将字符串转换成日期。第一个参数是日期格式,第二个参数是日期字符串。 如果字符串无法转换就会返回0值。mustToDate以防无法转换会返回错误。
这在你将日期字符串转换成其他格式时很有用(使用pipe)。下面的例子会将"2017-12-31" 转换成 "31/12/2017"。
toDate "2006-01-02" "2017-12-31" | date "02/01/2006"