首页 > 后端开发 > Golang > 正文

如何在Golang中创建从开始到结束的YYYY-MM-DD格式的日期范围?

WBOY
发布: 2024-02-12 18:00:07
转载
1129 人浏览过

如何在Golang中创建从开始到结束的YYYY-MM-DD格式的日期范围?

问题内容

假设我们的输入是 start_date=2022-01-01end_date=2022-01-05。我如何获得如下输入:

2022-01-01
2022-01-02
2022-01-03
2022-01-04
登录后复制
登录后复制

我可以使用 time.parse 解析开始和结束,并使用 .sub 获取中间的天数,然后迭代范围并创建字符串日期。 我想知道在 go 中是否有创建日期范围的方法或更好的解决方案?

解决方法

您可以使用:

const (
    layout = "2006-01-02"
)

func main() {
    startdate, _ := time.parse(layout, "2022-01-01")
    enddate, _ := time.parse(layout, "2022-01-05")

    for date := startdate; date.before(enddate); date = date.adddate(0, 0, 1) {
        fmt.println(date.format(layout))
    }
}
登录后复制

这会给你:

2022-01-01
2022-01-02
2022-01-03
2022-01-04
登录后复制
登录后复制

完整示例

以上是如何在Golang中创建从开始到结束的YYYY-MM-DD格式的日期范围?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板