Bagaimana untuk menukar masa dalam golang

PHPz
Lepaskan: 2023-04-23 16:19:13
asal
1513 orang telah melayarinya

Golang ialah bahasa pengaturcaraan baru muncul yang menawarkan prestasi dan fleksibiliti yang sangat baik dari segi masa pemprosesan. Semasa pembangunan, kita selalunya perlu menukar masa kepada format yang berbeza, seperti cap waktu Unix, rentetan atau tarikh dan masa dalam zon waktu tertentu. Dalam artikel ini, kami akan menumpukan pada penukaran masa di Golang.

  1. Penukaran cap waktu Unix kepada masa

Pakej masa digunakan di Golang untuk melaksanakan operasi masa. Cap waktu Unix ialah bilangan saat sejak 1 Januari 1970 00:00:00 UTC. Kita boleh menggunakan fungsi time.Unix untuk menukar cap waktu Unix kepada masa. Jenis masa (struktur yang mewakili masa dan tarikh dalam Golang).

Sebagai contoh, untuk menukar cap waktu Unix 1562725815 kepada objek masa, anda boleh melakukan perkara berikut:

timestamp := int64(1562725815)
t := time.Unix(timestamp, 0)
fmt.Println(t) // 输出:2019-07-10 02:30:15 +0000 UTC
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mentakrifkan cap waktu Unix dan Ia diluluskan sebagai parameter kepada masa.Fungsi Unix. Fungsi mengembalikan objek masa. Masa, dan kita boleh menggunakan fungsi Println untuk mencetak nilainya.

  1. Masa kepada cap waktu Unix

Kita boleh menggunakan kaedah masa Unix.Jenis masa untuk menukar masa kepada cap waktu Unix. Kaedah Unix mengembalikan saat dan nanosaat, kita boleh mengabaikan nanosaat secara pilihan.

Sebagai contoh, untuk menukar objek masa t kepada cap waktu Unix, anda boleh melakukan perkara berikut:

timestamp := t.Unix()
fmt.Println(timestamp) // 输出:1562725815
Salin selepas log masuk

Dalam kod di atas, kami memanggil kaedah t.Unix() kepada dapatkan masa Cap masa Unix objek t.

  1. Masa untuk rentetan

Untuk menukar masa kepada rentetan, kita boleh menggunakan kaedah Format masa itu. Jenis masa dan rentetan dalam format yang ditentukan. Aksara format masa dalam Golang adalah berdasarkan standard bahasa ANSI C.

Contohnya, untuk menukar objek masa t kepada rentetan dalam format "2006-01-02 15:04:05", anda boleh melakukan perkara berikut:

layout := "2006-01-02 15:04:05"
str := t.Format(layout)
fmt.Println(str) // 输出:2019-07-10 02:30:15
Salin selepas log masuk

Dalam di atas Dalam kod, kita mula-mula menentukan susun atur rentetan format, dan kemudian hantarkannya sebagai parameter kepada kaedah t.Format. Kaedah ini mengembalikan rentetan, yang dijana mengikut format susun atur.

  1. Tukar rentetan kepada masa

Kita boleh menggunakan fungsi masa.Parse untuk menghuraikan rentetan menjadi objek masa. Untuk menggunakan fungsi ini kita perlu menyediakan rentetan format dan rentetan untuk menghuraikan.

Sebagai contoh, untuk menghuraikan rentetan "2019-07-10 02:30:15" dalam format "2006-01-02 15:04:05" ke dalam objek masa, anda boleh melakukan perkara berikut operasi:

layout := "2006-01-02 15:04:05"
str := "2019-07-10 02:30:15"
t, err := time.Parse(layout, str)
if err != nil {
    panic(err)
}
fmt.Println(t) // 输出:2019-07-10 02:30:15 +0000 UTC
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mentakrifkan susun atur rentetan format dan str rentetan untuk dihuraikan, kemudian hantarnya sebagai parameter kepada masa.Fungsi Parse. Fungsi mengembalikan masa. Objek masa dan ralat. Jika penghuraian gagal, kami akan menerima ralat.

  1. Penukaran Zon Masa

Apabila melakukan penukaran masa, kadangkala kita perlu mempertimbangkan perbezaan zon waktu. Terdapat fungsi LoadLocation dalam pakej masa di Golang yang boleh membantu kami mengendalikan penukaran zon waktu.

Sebagai contoh, untuk menukar waktu tempatan kepada waktu UTC, anda boleh melakukan perkara berikut:

layout := "2006-01-02 15:04:05"
str := "2019-07-10 02:30:15"
local, err := time.ParseInLocation(layout, str, time.Local)
if err != nil {
    panic(err)
}
utc := local.In(time.UTC)
fmt.Println(utc) // 输出:2019-07-10 02:30:15 +0000 UTC
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menetapkan zon waktu kepada zon waktu tempatan dan kemudian gunakan masa. Kaedah ParseInLocation menghuraikan rentetan ke dalam objek masa. Masa yang dihuraikan ialah objek tempatan. Kemudian kami menggunakan kaedah local.In(time.UTC) untuk menukar objek tempatan kepada masa UTC.

Ringkasan

Penukaran masa Golang sangat fleksibel. Kami boleh menukar objek masa kepada cap waktu Unix, rentetan atau tarikh dan masa dalam zon waktu yang ditentukan, dan kami juga boleh menukar jenis data ini kepada objek masa. Pastikan anda mengetahui perbezaan zon waktu semasa mengendalikan masa, jika tidak, anda mungkin mendapat hasil yang tidak tepat. Dengan menggunakan keupayaan penukaran masa Golang dengan betul, kami boleh membina aplikasi yang cekap dan boleh dipercayai dengan lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk menukar masa dalam 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!