Rumah pembangunan bahagian belakang Golang Bagaimana untuk menukar masa dalam golang

Bagaimana untuk menukar masa dalam golang

Apr 23, 2023 am 10:13 AM

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

GO Language Pack Import: Apakah perbezaan antara garis bawah dan tanpa garis bawah? GO Language Pack Import: Apakah perbezaan antara garis bawah dan tanpa garis bawah? Mar 03, 2025 pm 05:17 PM

Artikel ini menerangkan mekanisme import pakej Go: Dinamakan import (mis., Import & quot; fmt & quot;) dan import kosong (mis., Import _ & quot; fmt & quot;). Dinamakan import membuat kandungan pakej boleh diakses, sementara import kosong hanya melaksanakan t

Bagaimana untuk melaksanakan pemindahan maklumat jangka pendek antara halaman dalam kerangka beego? Bagaimana untuk melaksanakan pemindahan maklumat jangka pendek antara halaman dalam kerangka beego? Mar 03, 2025 pm 05:22 PM

Artikel ini menerangkan fungsi Newflash () Beego untuk pemindahan data antara halaman dalam aplikasi web. Ia memberi tumpuan kepada menggunakan NewFlash () untuk memaparkan mesej sementara (kejayaan, kesilapan, amaran) antara pengawal, memanfaatkan mekanisme sesi. Limita

Bagaimana cara menukar senarai hasil pertanyaan mysql ke dalam slice struktur tersuai dalam bahasa Go? Bagaimana cara menukar senarai hasil pertanyaan mysql ke dalam slice struktur tersuai dalam bahasa Go? Mar 03, 2025 pm 05:18 PM

Artikel ini memperincikan penukaran yang cekap hasil pertanyaan MySQL ke dalam kepingan struct go. Ia menekankan menggunakan kaedah imbasan pangkalan data/SQL untuk prestasi optimum, mengelakkan parsing manual. Amalan terbaik untuk pemetaan medan struct menggunakan tag db dan robus

Bagaimana saya boleh menentukan kekangan jenis tersuai untuk generik di GO? Bagaimana saya boleh menentukan kekangan jenis tersuai untuk generik di GO? Mar 10, 2025 pm 03:20 PM

Artikel ini meneroka kekangan jenis adat Go untuk generik. Ia memperincikan bagaimana antara muka menentukan keperluan jenis minimum untuk fungsi generik, meningkatkan keselamatan jenis dan kebolehgunaan semula kod. Artikel ini juga membincangkan batasan dan amalan terbaik

Bagaimana saya menulis objek dan stub untuk ujian di GO? Bagaimana saya menulis objek dan stub untuk ujian di GO? Mar 10, 2025 pm 05:38 PM

Artikel ini menunjukkan penciptaan dan stub di GO untuk ujian unit. Ia menekankan penggunaan antara muka, menyediakan contoh pelaksanaan mengejek, dan membincangkan amalan terbaik seperti menjaga mocks fokus dan menggunakan perpustakaan penegasan. Articl

Bagaimana cara menulis fail dalam bahasa Go dengan mudah? Bagaimana cara menulis fail dalam bahasa Go dengan mudah? Mar 03, 2025 pm 05:15 PM

Artikel ini memperincikan penulisan fail yang cekap di GO, membandingkan OS.WriteFile (sesuai untuk fail kecil) dengan os.openfile dan buffered menulis (optimum untuk fail besar). Ia menekankan pengendalian ralat yang teguh, menggunakan penangguhan, dan memeriksa kesilapan tertentu.

Bagaimana anda menulis ujian unit di GO? Bagaimana anda menulis ujian unit di GO? Mar 21, 2025 pm 06:34 PM

Artikel ini membincangkan ujian unit menulis di GO, meliputi amalan terbaik, teknik mengejek, dan alat untuk pengurusan ujian yang cekap.

Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya? Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya? Mar 10, 2025 pm 05:36 PM

Artikel ini meneroka menggunakan alat pengesanan untuk menganalisis aliran pelaksanaan aplikasi GO. Ia membincangkan teknik instrumentasi manual dan automatik, membandingkan alat seperti Jaeger, Zipkin, dan OpenTelemetry, dan menonjolkan visualisasi data yang berkesan

See all articles