第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

達(dá)到 time.Now() 時(shí)進(jìn)行循環(huán)

達(dá)到 time.Now() 時(shí)進(jìn)行循環(huán)

Go
慕村225694 2023-06-01 14:26:02
在 Golang 中是否可以通過(guò)給定的日期變量增加 for 循環(huán)中的日期,直到達(dá)到當(dāng)前日期/時(shí)間?,F(xiàn)在()// Start datet, _ := time.Parse(time.RFC3339, "2018-07-19T12:25:10.8584224+02:00")// Current datect := time.Now()for d := t; d.Day() == ct.Day(); d = d.AddDate(0, 0, 1) {    // Print all days between start date and current date     fmt.Println(d)}我希望變量 d 打印出所有日期(包括時(shí)間等),直到它到達(dá)當(dāng)前日期
查看完整描述

4 回答

?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

根據(jù) godoc: https: //golang.org/pkg/time/#Time.Day

func (t Time) Day() int

Day 返回 t 指定的月中的第幾天。

所以比較 d.Day() 和 ct.Day() 不是正確的方法。如果今天是“2019-01-01”,你的開(kāi)始時(shí)間是“2018-12-23”怎么辦?

比較兩個(gè)時(shí)間的正確方法。時(shí)間是https://golang.org/pkg/time/#Time.After

func (t Time) After(u Time) bool
func (t Time) Before(u Time) bool


After 報(bào)告時(shí)刻 t 是否在 u 之后。Before 報(bào)告時(shí)刻 t 是否在 u 之前。


所以@Alex Pliutau 的解決方案更常用。但今天需要更加小心。


package main


import (

    "fmt"

    "time"

)


func main() {

    t, _ := time.Parse(time.RFC3339, "2009-11-02T12:25:10.8584224+02:00")


    // truncate to 0:0:0

    t = t.Truncate(24 * time.Hour)

    fmt.Println("start time is:", t)


    // Current date truncate to 0:0:0

    ct := time.Now().Truncate(24 * time.Hour)

    fmt.Println("now is:", ct)

    fmt.Println("---------------")


    // for t.Before(ct) {  //if you don't want to print the date of today

    for !t.After(ct) {

        // Print all days between start date and current date

        fmt.Println(t.Format("2006-01-02 15:04:05"))

        t = t.AddDate(0, 0, 1)

    }

}

輸出:


start time is: 2009-11-02 02:00:00 +0200 +0200

now is: 2009-11-10 00:00:00 +0000 UTC

---------------

2009-11-02 02:00:00

2009-11-03 02:00:00

2009-11-04 02:00:00

2009-11-05 02:00:00

2009-11-06 02:00:00

2009-11-07 02:00:00

2009-11-08 02:00:00

2009-11-09 02:00:00

2009-11-10 02:00:00

https://play.golang.org/p/iMr7M5W9K4N


查看完整回答
反對(duì) 回復(fù) 2023-06-01
?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

獲得正確的循環(huán)條件和..


package main


import (

    "fmt"

    "time"

)


func main() {

    fmt.Println("Hello, playground")

    t, _ := time.Parse(time.RFC3339, "2018-07-19T12:25:10.8584224+02:00")


    // Current date

    ct := time.Now()


    for d := t; d.Day() >= ct.Day(); d = d.AddDate(0, 0, 1) {

        // Print all days between start date and current date

        fmt.Println(d)

    }

}


Hello, playground

2018-07-19 12:25:10.8584224 +0200 +0200

2018-07-20 12:25:10.8584224 +0200 +0200

2018-07-21 12:25:10.8584224 +0200 +0200

2018-07-22 12:25:10.8584224 +0200 +0200

2018-07-23 12:25:10.8584224 +0200 +0200

2018-07-24 12:25:10.8584224 +0200 +0200

2018-07-25 12:25:10.8584224 +0200 +0200

2018-07-26 12:25:10.8584224 +0200 +0200

2018-07-27 12:25:10.8584224 +0200 +0200

2018-07-28 12:25:10.8584224 +0200 +0200

2018-07-29 12:25:10.8584224 +0200 +0200

2018-07-30 12:25:10.8584224 +0200 +0200

2018-07-31 12:25:10.8584224 +0200 +0200

https://play.golang.org/p/yRBTUZKfseG


查看完整回答
反對(duì) 回復(fù) 2023-06-01
?
慕運(yùn)維8079593

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊

package main


import (

    "fmt"

    "time"

)


func main() {

    t, _ := time.Parse(time.RFC3339, "2018-07-19T12:25:10.8584224+02:00")


    ct := time.Now()


    for t.Before(ct) {

        fmt.Println(t)

        t.AddDate(0, 0, 1)

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-06-01
?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

根據(jù)您的評(píng)論,您實(shí)際上需要將Format日期告訴它一些有價(jià)值的東西:


package main


import (

    "fmt"

    "log"

    "time"

)


func main() {

    start, err := time.Parse("2006-1-2", "2018-1-1")

    if err != nil {

        log.Fatal(err)

    }


    for d := start; d.Month() == start.Month(); d = d.AddDate(0, 0, 1) {

        fmt.Println(d.Format("2006-1-2"))

    }

}

這是您的代碼的更簡(jiǎn)單版本(我使用了自定義時(shí)間格式,因?yàn)槲也幌刖庉?RFC 語(yǔ)法,但最終它是同一件事)= 為了簡(jiǎn)潔起見(jiàn),我也在迭代 Month。


查看完整回答
反對(duì) 回復(fù) 2023-06-01
  • 4 回答
  • 0 關(guān)注
  • 195 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)