Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan masa dan tarikh dalam Go?

Bagaimana untuk menggunakan masa dan tarikh dalam Go?

王林
王林asal
2023-05-10 17:55:531912semak imbas

Go ialah bahasa pengaturcaraan pantas dengan banyak perpustakaan terbina dalam yang berguna. Dalam kerja pembangunan sebenar, pemprosesan masa dan tarikh adalah penting. Go menyediakan fungsi pemprosesan masa dan tarikh yang berkuasa, membolehkan pembangun mengira dan memproses masa dan tarikh dengan mudah. Artikel ini akan memperkenalkan cara menggunakan masa dan tarikh dalam Go.

Asas masa dan tarikh

Dalam Go, masa dan tarikh diwakili oleh pembolehubah jenis masa.Masa. Jenis ini mengandungi maklumat seperti tahun, bulan, hari, jam, minit, saat dan zon waktu. Cara biasa untuk menciptanya ialah dengan memanggil fungsi time.Now(), yang akan mengembalikan pembolehubah jenis masa bagi masa semasa.

t := time.Now()
fmt.Println(t)

Output masa dan tarikh yang diformatkan

Dalam Go, kita boleh mengawal format output masa. Pembolehubah jenis masa melalui rentetan format. Contohnya:

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

Antaranya, 2006, 01, 02, 15, 04, dan 05 ialah nombor khas, yang masing-masing mewakili tahun, bulan, hari, jam, minit dan saat. Ini telah diputuskan oleh pengasas bahasa Go, Ken Thompson apabila dia mereka bentuk perpustakaan masa. Dia percaya bahawa ini akan mengurangkan ralat yang disebabkan oleh pemformatan masa.

Selain nombor istimewa ini, rentetan format juga boleh mengandungi aksara lain, seperti ruang, sempang, titik bertindih, dsb.

Pengiraan penambahan dan penolakan masa dan tarikh

Dalam Go, kita boleh menggunakan fungsi Add() dan Sub() untuk menambah dan menolak masa dan tarikh.

t1 := time.Now()
t2 := t1.Add(1 * time.Hour)
t3 := t1.AddDate(1, 0, 0)    // 将t1加1年
t4 := t1.Sub(t2)
fmt.Println(t1)
fmt.Println(t2)
fmt.Println(t3)
fmt.Println(t4)

Dalam kod di atas, t2 mewakili masa selepas t1 tambah 1 jam, t3 mewakili masa selepas t1 tambah 1 tahun, dan t4 mewakili perbezaan masa antara t2 dan t1.

Perbandingan masa dan tarikh

Dalam Go, kita boleh menggunakan fungsi Before(), Equal() dan After() untuk membandingkan susunan dua masa dan tarikh.

t1 := time.Now()
t2 := t1.Add(1 * time.Hour)
fmt.Println(t1.Before(t2))
fmt.Println(t1.Equal(t2))
fmt.Println(t1.After(t2))

Dalam kod di atas, fungsi Before() kembali benar untuk menunjukkan bahawa t1 sebelum t2, fungsi Equal() kembali benar untuk menunjukkan bahawa t1 dan t2 adalah sama, dan fungsi After() kembali benar untuk menunjukkan bahawa t1 adalah selepas t2.

Tamp Masa Unix

Dalam sains komputer, cap waktu Unix (cap waktu unix) merujuk kepada semua saat dari 00:00:00 pada 1 Januari 1970 hingga masa semasa beberapa saat sejak sekarang. Dalam Go, kita boleh menggunakan fungsi Unix() untuk menukar pembolehubah jenis masa kepada cap masa Unix jenis int64.

t := time.Now()
unixTime := t.Unix()
fmt.Println(unixTime)

Selain fungsi Unix(), Go juga menyediakan fungsi UnixNano(), yang boleh menukar masa kepada semua nanosaat dari 1 Januari 1970, 00:00:00 kepada masa semasa.

Ringkasan

Pemprosesan masa dan tarikh adalah sangat penting Dalam Go, kami boleh menggunakan perpustakaan masa terbina dalam untuk mengira dan memproses masa dan tarikh dengan mudah. Artikel ini memperkenalkan asas penggunaan masa dan tarikh dalam Go, termasuk output masa dan tarikh yang diformatkan, pengiraan penambahan dan penolakan, perbandingan dan cap waktu Unix. Pembangun boleh menggunakan fungsi ini secara fleksibel mengikut keperluan mereka sendiri untuk meningkatkan kecekapan pembangunan.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan masa dan tarikh dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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 sebelumnya:golang tidak sama denganArtikel seterusnya:golang tidak sama dengan