为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 相当于 strtotime("这个星期天,23:59:59")

Golang 相当于 strtotime("这个星期天,23:59:59")

Go
慕沐林林 2023-05-08 15:06:53
我正在编写一个抓取网站报价的抓取工具,这些报价有结束日期。一个这样的网站提供每周日到期的优惠。我已经阅读了 golang 时间文档,但仍然不明白如何完成我在 PHP 中发现的等效性并且非常简单。$endDate = strtotime('this Sunday, 23:59:59');有没有 golang 的方法来做到这一点?
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

使用Go 标准库时间包在 Go 中编写一个函数。例如,

package main


import (

    "fmt"

    "time"

)


func endDate(t time.Time, wd time.Weekday) time.Time {

    next := int((wd - t.Weekday() + 7) % 7)

    y, m, d := t.Date()

    return time.Date(y, m, d+next+1, 0, 0, 0, -1, t.Location())

}


func main() {

    now := time.Now().Round(0)

    fmt.Println(now, now.Weekday())


    end := endDate(now, time.Sunday)

    fmt.Println(end, end.Weekday())

}

输出:

2018-11-08 05:25:01.104445722 -0500 EST Thursday
2018-11-11 23:59:59.999999999 -0500 EST Sunday


查看完整回答
反对 回复 2023-05-08
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信