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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用golang獲取當月的開始日期和結(jié)束日期?

如何使用golang獲取當月的開始日期和結(jié)束日期?

Go
BIG陽 2023-05-04 17:33:56
我想制作一個簡單的 golang 程序,它只告訴我當前月份的開始日期和月份的結(jié)束日期。還有一個條件是,如果用戶將輸入月份和年份,那么它將給我該年和月份的開始日期和結(jié)束日期。為此,我嘗試了以下程序,但它不會給我正確的結(jié)果:package mainimport (  "fmt"  "time")func main() {  var year int  var month int  year = 2018  month = 1  if year != 0 && month != 0 {     t2 := time.Now().AddDate(year, month, 0)    fmt.Println(t2)  } else {    t2 := time.Now().AddDate(0, 0, 0)    fmt.Println(t2) }}去游樂場鏈接任何人都可以告訴我如何更正程序。提前致謝。
查看完整描述

3 回答

?
慕娘9325324

TA貢獻1783條經(jīng)驗 獲得超4個贊

您可以在 golang 本身中使用時間包。

package main


import (

? ? "fmt"

? ? "time"

)


func main() {

? ? t := time.Now()

? ? fmt.Println(BeginningOfMonth(t))

? ? fmt.Println(EndOfMonth(t))


? ? // If you need only date use Format(). But remember Format() will return as a string

? ? dateFormat := "2006-01-02"

? ? fmt.Println(BeginningOfMonth(t).Format(dateFormat))

? ? fmt.Println(EndOfMonth(t).Format(dateFormat))

}


func BeginningOfMonth(t time.Time) time.Time {

? ? return time.Date(t.Year(), t.Month(), 1, 0, 0, 0, 0, t.Location())

}


func EndOfMonth(t time.Time) time.Time {

? ? return BeginningOfMonth(t).AddDate(0, 1, 0).Add(-time.Second)

}

輸出:

2018-10-01 00:00:00 +0530 實際

2018-10-31 23:59:59 +0530 是

2018-10-01

2018-10-31


查看完整回答
反對 回復(fù) 2023-05-04
?
絕地無雙

TA貢獻1946條經(jīng)驗 獲得超4個贊

例如,


package main


import (

    "fmt"

    "time"

)


func monthInterval(y int, m time.Month) (firstDay, lastDay time.Time) {

    firstDay = time.Date(y, m, 1, 0, 0, 0, 0, time.UTC)

    lastDay = time.Date(y, m+1, 1, 0, 0, 0, -1, time.UTC)

    return firstDay, lastDay

}


func main() {

    var (

        y int

        m time.Month

    )


    y, m, _ = time.Now().Date()

    first, last := monthInterval(y, m)

    fmt.Println(first.Format("2006-01-02"))

    fmt.Println(last.Format("2006-01-02"))


    y, m = 2018, time.Month(2)

    first, last = monthInterval(y, m)

    fmt.Println(first.Format("2006-01-02"))

    fmt.Println(last.Format("2006-01-02"))

}

輸出:


2018-10-01

2018-10-31

2018-02-01

2018-02-28

游樂場:https://play.golang.org/p/TkzCo9jLpZR


查看完整回答
反對 回復(fù) 2023-05-04
?
白豬掌柜的

TA貢獻1893條經(jīng)驗 獲得超10個贊

嗯,你只需要看看下面我為你寫的代碼,然后閱讀評論并學(xué)習(xí)它。通過在 golang 中引用this和?this time 包:

package main


import (

?"fmt"

?"strings"

?"time"

)


func main() {

?var year int

?year = 2019

?currentLocation := time.Now().Location() // got current location

?if year != 0 {

? ? firstOfMonth := time.Date(year, time.February, 1, 0, 0, 0, 0, currentLocation) // first date of the month

? ? fmt.Println(firstOfMonth)

? ? lastOfMonth := firstOfMonth.AddDate(0, 1, -1).Format("2006-01-02 00:00:00 -0000") // last date of the month?

? ? fmt.Println(lastOfMonth)

? ? onlyDate := strings.Split(lastOfMonth, " ")

? ? fmt.Println(onlyDate[0])

?}?

}

已編輯


package main


import (

?"fmt"

?"time"

)


func main() {

?month := 1

?fmt.Println(time.Month(month))

}

將 int month 轉(zhuǎn)換為 time link playground


查看完整回答
反對 回復(fù) 2023-05-04
  • 3 回答
  • 0 關(guān)注
  • 287 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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