Rumah > pembangunan bahagian belakang > Golang > Bagaimana Mengira Julat Tarikh Diberi Nombor Minggu di Golang?

Bagaimana Mengira Julat Tarikh Diberi Nombor Minggu di Golang?

Linda Hamilton
Lepaskan: 2024-12-31 10:01:08
asal
744 orang telah melayarinya

How to Calculate a Date Range Given a Week Number in Golang?

Julat Tarikh mengikut Nombor Minggu di Golang

Latar Belakang:

Masa.ISOWeek() mengembalikan nombor minggu yang bermula pada hari Isnin. Artikel ini menunjukkan cara mendapatkan julat tarikh untuk minggu tertentu, dengan mengandaikan ia bermula dari Ahad.

Penyelesaian:

  1. Kira Permulaan Minggu :

Mulakan dengan menjajarkan ke hari pertama dalam minggu (Isnin) dari pertengahan tahun. Gabungkan dengan menambah hari berdasarkan perbezaan minggu didarab dengan 7.

func WeekStart(year, week int) time.Time {
    t := time.Date(year, 7, 1, 0, 0, 0, 0, time.UTC)
    if wd := t.Weekday(); wd == time.Sunday {
        t = t.AddDate(0, 0, -6)
    } else {
        t = t.AddDate(0, 0, -int(wd)+1)
    }
    _, w := t.ISOWeek()
    t = t.AddDate(0, 0, (week-w)*7)
    return t
}
Salin selepas log masuk
  1. Kira Julat Minggu:

Untuk mendapatkan julat tarikh , tentukan hari pertama minggu dan tambah 6 hari untuk mendapatkan hari terakhir hari.

func WeekRange(year, week int) (start, end time.Time) {
    start = WeekStart(year, week)
    end = start.AddDate(0, 0, 6)
    return
}
Salin selepas log masuk

Contoh:

fmt.Println(WeekRange(2018, 1))
fmt.Println(WeekRange(2018, 2))
fmt.Println(WeekRange(2019, 1))
fmt.Println(WeekRange(2019, 2))
Salin selepas log masuk

Output (cuba di Taman Permainan Go):

2018-01-01 00:00:00 +0000 UTC 2018-01-07 00:00:00 +0000 UTC
2018-01-08 00:00:00 +0000 UTC 2018-01-14 00:00:00 +0000 UTC
2018-12-31 00:00:00 +0000 UTC 2019-01-06 00:00:00 +0000 UTC
2019-01-07 00:00:00 +0000 UTC 2019-01-13 00:00:00 +0000 UTC
Salin selepas log masuk

Nota Tambahan:

Fungsi WeekStart() menguruskan minggu di luar julat. Minggu di luar julat tahun masing-masing ditafsirkan sebagai minggu terakhir atau pertama tahun sebelumnya atau berikutnya.

Atas ialah kandungan terperinci Bagaimana Mengira Julat Tarikh Diberi Nombor Minggu di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan