Cap masa ialah cara komputer memproses masa, biasanya sebagai integer yang mewakili bilangan saat dari satu titik dalam masa ke masa yang lain (biasanya 1 Januari 1970 00:00:00 UTC). Dalam bahasa Go, menukar cap masa adalah sangat mudah Artikel ini akan memperkenalkan beberapa kaedah dan teknik yang berkaitan.
Fungsi masa.Unix() menerima dua parameter, satu ialah cap masa Unix dan yang satu lagi ialah offset nanosaat. Ia mengembalikan nilai jenis Masa yang sepadan. Contohnya:
package main import ( "fmt" "time" ) func main() { unixTimestamp := int64(1609459200) t := time.Unix(unixTimestamp, 0) fmt.Println(t) }
Kod di atas menukar cap masa 1609459200
kepada nilai masa yang sepadan: 2021-01-01 00:00:00 +0000 UTC
. Parameter kedua ialah mengimbangi nanosaat Jika anda tidak memerlukannya, anda boleh memasukkan 0.
Fungsi masa.UnixNano() menerima cap masa Unix dan mengembalikan nombor nanosaatnya yang sepadan. Contohnya:
package main import ( "fmt" "time" ) func main() { unixTimestamp := int64(1609459200) nano := time.UnixNano(unixTimestamp) fmt.Println(nano) }
Kod di atas menukar cap masa 1609459200
kepada bilangan nanosaat yang sepadan: 1609459200000000000
.
Kaedah masa.Since() menerima nilai masa dan mengembalikan masa semasa Tempoh antara dan nilai masa ini. Oleh itu, kita boleh menukar cap masa kepada nilai masa dan kemudian menggunakan kaedah masa. Sejak() untuk mengira tempoh yang sepadan. Contohnya:
package main import ( "fmt" "time" ) func main() { unixTimestamp := int64(1609459200) t := time.Unix(unixTimestamp, 0) duration := time.Since(t) fmt.Println(duration) }
Kod di atas menukar cap masa 1609459200
kepada nilai masa yang sepadan, dan kemudian mengira tempohnya dengan masa semasa: 73.141589ms
.
Kita boleh menggunakan masa.Now().Unix( ) kaedah untuk mendapatkan masa semasa Cap masa masa, yang mengembalikan nilai jenis int64. Contohnya:
package main import ( "fmt" "time" ) func main() { unixTimestamp := time.Now().Unix() fmt.Println(unixTimestamp) }
Kod di atas mendapat cap masa masa semasa dan mencetaknya. Anda boleh melihat bahawa output cap masa ialah nilai integer masa semasa.
Kaedah time.Parse() menerima dua parameter, satu ialah format masa rentetan, Yang lain ialah rentetan masa yang perlu ditukar. Ia mengembalikan nilai jenis Masa yang sepadan. Contohnya:
package main import ( "fmt" "time" ) func main() { layout := "2006-01-02 15:04:05" str := "2021-01-01 00:00:00" t, err := time.Parse(layout, str) if err != nil { fmt.Println(err) return } fmt.Println(t) }
Kod di atas menukar rentetan "2021-01-01 00:00:00"
kepada nilai masa yang sepadan: 2021-01-01 00:00:00 +0000 UTC
. Antaranya, parameter layout
ialah rentetan format masa, dan jujukan masa yang ditentukan Mon Jan 2 15:04:05 MST 2006
mesti digunakan untuk mewakili setiap bahagian masa Ini kerana pakej masa go menggunakan jujukan ini, dan masa permulaannya ialah betul-betul cap waktu Unix 0
Masa yang sepadan.
Ringkasan
Artikel ini memperkenalkan kaedah dan teknik untuk menukar cap masa kepada nilai masa, nanosaat, tempoh, dsb. dalam bahasa go. Kaedah ini sangat berguna apabila anda perlu berurusan dengan masa dalam bahasa go. Sudah tentu, bergantung pada senario aplikasi khusus anda, anda boleh memilih satu atau lebih kaedah ini untuk penukaran dan pemprosesan cap masa.
Atas ialah kandungan terperinci golang tukar cap waktu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!