Bahasa Go ialah bahasa pengaturcaraan moden, dan masa memainkan peranan yang sangat penting dalam pembangunan. Bahasa Go menyediakan beberapa fungsi dan struktur masa terbina dalam untuk menjadikan pemprosesan masa lebih mudah. Dalam artikel ini, kami akan memperkenalkan beberapa kaedah pemprosesan masa yang biasa digunakan dalam bahasa Go.
Kita boleh menggunakan fungsi time.Now() untuk mendapatkan masa semasa:
now := time.Now() fmt.Println(now)
Output:
2019-06-13 14:30:10.12345 +0800 CST m=+0.000000001
Seperti yang anda lihat, format output ialah YYYY-MM-DD HH:mm:ss.nnnnnn +0800 CST m=+0.000000001
, dengan YYYY
mewakili tahun, MM
mewakili bulan, DD
mewakili hari, HH
mewakili jam, mm
mewakili minit dan ss
mewakili Saat, nnnnnn
mewakili nanosaat, +0800
mewakili zon waktu, CST
mewakili nama zon waktu, m=+0.000000001
mewakili masa relatif, iaitu masa dari 0:00:00 pada 1 Januari 1970. Anda boleh memilih maklumat masa yang diperlukan mengikut keperluan anda.
Cap masa Unix ialah bilangan saat dari 1 Januari 1970, 0:00:00 hingga sekarang. Dalam bahasa Go, kita boleh menggunakan fungsi time.Unix() untuk menukar saat kepada jenis masa atau menggunakan jenis masa untuk mendapatkan cap masa yang sepadan.
Dapatkan cap masa masa semasa:
now := time.Now().Unix() fmt.Println(now)
Output:
1560425789
Tukar cap masa kepada jenis masa:
timestamp := 1560425789 t := time.Unix(timestamp, 0) fmt.Println(t)
Output:
2019-06-13 14:43:09 +0800 CST
Dalam bahasa Go, kita boleh menggunakan fungsi time.Format() untuk menukar jenis masa kepada jenis rentetan. Dengan mentakrifkan beberapa aksara rujukan pemformatan khusus, kami boleh memaparkan masa mengikut cara yang kami perlukan.
Contoh:
t := time.Now() fmt.Println(t.Format("2006-01-02 15:04:05"))
Output:
2019-06-13 14:50:11
"2006-01-02 15:04:05" dalam kod di atas ialah aksara rujukan format masa, yang khusus maksudnya adalah seperti berikut :
2006:年 01:月 02:日 15:小时 04:分钟 05:秒
Dalam bahasa Go, kita boleh menggunakan fungsi masa.Tambah() untuk menambah dan menolak masa. Parameter fungsi Add() ialah jenis Tempoh, mewakili tempoh masa untuk ditambah atau ditolak. Di bawah ialah beberapa kod sampel yang menggunakan fungsi Add() untuk menambah dan menolak masa.
Contoh:
t := time.Now() fmt.Println(t.Add(10 * time.Minute)) fmt.Println(t.Add(24 * time.Hour))
Output:
2019-06-13 15:07:34.877146776 +0800 CST m=+600.000277511 2019-06-14 14:57:34.877146776 +0800 CST
Dalam bahasa Go, kita boleh menggunakan masa jenis mewakili perbezaan antara dua tempoh masa. Di bawah ialah beberapa kod sampel yang menggunakan Tempoh untuk mengira perbezaan masa.
Contoh:
t1 := time.Date(2019, time.June, 13, 12, 00, 55, 0, time.Local) t2 := time.Date(2019, time.June, 13, 14, 20, 30, 0, time.Local) diff := t2.Sub(t1) fmt.Println(diff)
Output:
2h19m35s
Dalam bahasa Go, kita boleh menggunakan masa. Jenis pemasa Cipta a pemasa dan gunakan saluran untuk mendapatkan peristiwa pencetus pemasa. Di bawah adalah contoh kod mudah.
Contoh:
func test() { fmt.Println("test") } func main() { timer := time.NewTimer(time.Second * 2) <-timer.C test() }
Dalam kod di atas, pemasa 2 saat dicipta, kemudian acara dibaca dari saluran pemasa.C, dan akhirnya fungsi test() dipanggil.
Ringkasan
Artikel ini memperkenalkan beberapa kaedah pemprosesan masa yang biasa digunakan dalam bahasa Go, termasuk mendapatkan masa semasa, cap masa, pemformatan masa, penambahan dan penolakan masa, pengiraan perbezaan masa dan pemasa, dsb. . Kaedah pengurusan masa ini sangat penting dalam pembangunan harian, dan kita harus menguasainya secepat mungkin.
Atas ialah kandungan terperinci Apakah kaedah pemprosesan masa dalam bahasa Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!