如何在Terraform中计算未来12个月内月初的最大起始日期
实现方案
核心逻辑是先计算当前时间加12个月对应的时间点,再直接取该时间点的当月首日即可,完整代码如下:
locals { current_time = timestamp() # 计算当前时间往后12个月的近似时间点,365天的误差不会影响年月取值,完全满足业务精度 future_12month = timeadd(local.current_time, "8760h") # 提取年月拼接当月1日,即为未来12个月范围内最远的月初日期 max_start_date = "${formatdate("YYYY-MM", local.future_12month)}-01" }
如果需要适配更严格的12个自然月边界场景,比如当前是月末最后一天加365天刚好落到下一月的情况,可以额外加一层判断校准,常规场景下上述代码可以直接使用。
内容的提问来源于stack exchange,提问作者MaxiPalle
相关产品推荐
相关产品推荐

