Rumah pembangunan bahagian belakang Golang zon waktu set masa golang

zon waktu set masa golang

May 12, 2023 pm 10:04 PM

Go ialah bahasa pengaturcaraan sumber terbuka yang digunakan secara meluas dalam pembangunan aplikasi web, terutamanya aplikasi bahagian pelayan. Berurusan dengan tarikh dan masa dalam Go adalah tugas biasa, dan untuk tugas ini, pengurusan zon masa adalah sangat penting. Dalam artikel ini, kita akan membincangkan cara menetapkan zon waktu dalam Go.

Zon waktu ialah konsep rekaan yang digunakan untuk membandingkan waktu tempatan di kawasan Bumi yang berbeza dengan Waktu Universal Selaras (UTC). UTC ialah piawaian masa yang diiktiraf di seluruh dunia dan masa piawai yang digunakan dalam komputer. Oleh itu, apabila berurusan dengan masa, kita perlu mengendalikan zon masa dengan betul.

Dalam Go, pakej masa menyediakan fungsi untuk masa dan tarikh pemprosesan. Terdapat jenis Lokasi dalam pakej ini, yang mewakili maklumat zon waktu. Dengan menetapkan pembolehubah jenis ini kita boleh menukar masa kepada masa zon waktu tertentu.

Kod contoh berikut menunjukkan cara menetapkan zon waktu dalam Go:

package main

import (
    "fmt"
    "time"
)

func main() {
    // 获取当前时间
    now := time.Now()

    // 输出当前时间
    fmt.Println("当前时间:", now)

    // 设置要使用的时区
    location, err := time.LoadLocation("America/New_York")
    if err != nil {
        fmt.Println(err)
        return
    }

    // 将时间转换为指定时区的时间
    nyTime := now.In(location)

    // 输出指定时区的时间
    fmt.Println("纽约时间:", nyTime)
}

Dalam contoh di atas, kita mula-mula mendapat waktu tempatan semasa. Kemudian gunakan fungsi time.LoadLocation untuk memuatkan maklumat zon waktu "America/New_York" daripada pangkalan data zon waktu. Jika pemuatan gagal, fungsi ini akan mengembalikan ralat. Kemudian gunakan fungsi In untuk menukar masa kepada masa dalam zon waktu yang ditentukan. Akhirnya, masa dalam zon waktu yang ditentukan adalah output.

Terdapat beberapa cara lain untuk menetapkan zon waktu dalam Go. Sebagai contoh, kita boleh menggunakan fungsi time.FixedZone untuk mencipta zon waktu tetap dengan offset tertentu. Contoh berikut menunjukkan cara menggunakan fungsi ini:

// 创建一个偏移量为-5小时的固定时区
location := time.FixedZone("EST", -5*60*60)
nyTime := now.In(location)

Selain kaedah di atas, kita juga boleh menggunakan pembolehubah persekitaran untuk menetapkan zon waktu. Dalam sistem Linux dan macOS, pembolehubah persekitaran TZ boleh menentukan zon waktu lalai. Dalam sistem Windows, TZ menetapkan pembolehubah persekitaran kepada nilai Daerah Dongba boleh menetapkan zon waktu kepada Waktu Piawai China. Contoh berikut menunjukkan cara menetapkan zon waktu dalam sistem Linux:

import (
    "fmt"
    "os"
    "time"
)

func main() {
    // 获取当前时间
    now := time.Now()

    // 输出当前时间
    fmt.Println("当前时间:", now)

    // 获取时区
    tz := os.Getenv("TZ")
    fmt.Println("当前时区:", tz)

    // 设置时区
    os.Setenv("TZ", "America/New_York")

    // 重新加载时区信息
    time.LoadLocation("")

    // 获取指定时区的时间
    nyTime := now.In(time.Local)

    // 输出指定时区的时间
    fmt.Println("纽约时间:", nyTime)
}

Dalam contoh di atas, kita mula-mula mendapatkan waktu tempatan semasa dan mengeluarkan zon waktu semasa. Kemudian gunakan fungsi os.Setenv untuk menetapkan TZ pembolehubah persekitaran kepada "America/New_York", dan kemudian gunakan fungsi time.LoadLocation untuk memuatkan semula maklumat zon waktu. Akhir sekali, fungsi In digunakan untuk menukar masa kepada masa dalam zon waktu yang ditentukan, dan masa dalam zon waktu yang ditentukan adalah output.

Ringkasan:

Dalam Go, berurusan dengan tarikh dan masa adalah tugas biasa. Untuk mengendalikan masa dengan betul dalam zon waktu yang berbeza, kita perlu memahami cara menetapkan zon waktu. Pakej masa Go menyediakan pelbagai cara untuk menetapkan zon waktu, termasuk memuatkan maklumat zon waktu, mencipta zon waktu tetap dan menggunakan pembolehubah persekitaran. Pengendalian zon waktu yang betul boleh meningkatkan pengalaman pengguna dengan mengelakkan isu masa dalam aplikasi bahagian pelayan.

Atas ialah kandungan terperinci zon waktu set masa 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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Topik panas

Tutorial PHP
1596
276
Pergi dengan contoh contoh pembalakan middleware http Pergi dengan contoh contoh pembalakan middleware http Aug 03, 2025 am 11:35 AM

HTTP Log Middleware di GO boleh merakam kaedah permintaan, laluan, IP klien dan memakan masa. 1. Gunakan http.handlerfunc untuk membungkus pemproses, 2. Rekod waktu mula dan masa akhir sebelum dan selepas memanggil next.servehttp, 3. Dapatkan IP pelanggan sebenar melalui r.remoteaddr dan X-forward-for headers, 4. Gunakan log.printf untuk mengeluarkan log permintaan, 5. Kod sampel lengkap telah disahkan untuk dijalankan dan sesuai untuk memulakan projek kecil dan sederhana. Cadangan lanjutan termasuk menangkap kod status, menyokong log JSON dan meminta penjejakan ID.

Bagaimanakah pernyataan suis berfungsi? Bagaimanakah pernyataan suis berfungsi? Jul 30, 2025 am 05:11 AM

Pernyataan Switch GO tidak akan dilaksanakan sepanjang proses secara lalai dan secara automatik akan keluar selepas memadankan keadaan pertama. 1. Suis bermula dengan kata kunci dan boleh membawa satu atau tiada nilai; 2. Kes perlawanan dari atas ke bawah dalam urutan, hanya perlawanan pertama yang dijalankan; 3. Pelbagai syarat boleh disenaraikan oleh koma untuk memadankan kes yang sama; 4. Tidak perlu menambah rehat secara manual, tetapi boleh dipaksa melalui; 5.Default digunakan untuk kes -kes yang tidak dapat ditandingi, biasanya diletakkan pada akhir.

Pergi dengan contoh generik Pergi dengan contoh generik Jul 29, 2025 am 04:10 AM

Go Generik disokong sejak 1.18 dan digunakan untuk menulis kod generik untuk jenis selamat. 1. Fungsi generik printslice [tany] (s [] t) boleh mencetak kepingan mana -mana jenis, seperti [] int atau [] rentetan. 2. Melalui had bilangan kekangan jenis t ke jenis angka seperti int dan float, jumlah [tnumber] (slice [] t) t Summation selamat direalisasikan. 3. Struktur generik Typebox [Tany] struct {valuet} boleh merangkum sebarang nilai jenis dan digunakan dengan pembina kotak baru [Tany] (Vt)*. 4. Tambahkan set (vt) dan dapatkan () kaedah t untuk kotak [t] tanpa

Bagaimana anda bekerja dengan pembolehubah persekitaran di Golang? Bagaimana anda bekerja dengan pembolehubah persekitaran di Golang? Aug 19, 2025 pm 02:06 PM

GoProvidesBuilt-InsupportForHandlingenvironmentVariablesViateTheospackage, EnablingDevelelperstoread, Set, danManageenvironmentDataSecurelyAndeFicienty.ToreAdAvariable, UseOS.Getenv ("Kunci")

pergi dengan contoh menjalankan subprocess pergi dengan contoh menjalankan subprocess Aug 06, 2025 am 09:05 AM

Jalankan proses kanak -kanak menggunakan pakej OS/EXEC, buat arahan melalui exec.command tetapi tidak melaksanakannya dengan segera; 2. Jalankan arahan dengan .Output () dan tangkap stdout. Jika kod keluar bukan sifar, kembalikan exec.exiterror; 3. Gunakan .start () untuk memulakan proses tanpa menyekat, menggabungkan dengan .stDoutPipe () untuk menstrimkan output dalam masa nyata; 4. Masukkan data ke dalam proses melalui .StDinPipe (), dan selepas menulis, anda perlu menutup saluran paip dan panggilan .Wait () untuk menunggu akhir; 5. EXEC.EXITError mesti diproses untuk mendapatkan kod keluar dan stderr perintah gagal untuk mengelakkan proses zombie.

Apakah susun atur projek standard untuk aplikasi Go? Apakah susun atur projek standard untuk aplikasi Go? Aug 02, 2025 pm 02:31 PM

Jawapannya ialah: Permohonan GO tidak mempunyai susun atur projek wajib, tetapi masyarakat umumnya mengamalkan struktur standard untuk meningkatkan kebolehpercayaan dan skalabilitas. 1.CMD/menyimpan pintu masuk program, setiap subdirektori sepadan dengan fail yang boleh dilaksanakan, seperti CMD/MYAPP/MAIN.GO; 2. Kod Swasta/ Kedai, tidak boleh diimport oleh modul luaran, dan digunakan untuk merangkum logik dan perkhidmatan perniagaan; 3.PKG/ Kedai Perpustakaan yang boleh digunakan semula secara terbuka untuk mengimport projek lain; 4.API/ Pilihan menyimpan OpenAPI, Protobuf dan fail definisi API lain; 5.Config/, skrip/, dan fail konfigurasi web/kedai, skrip dan sumber web masing -masing; 6. direktori akar mengandungi go.mod dan go.sum

cara memecahkan dari gelung bersarang di mana sahaja cara memecahkan dari gelung bersarang di mana sahaja Jul 29, 2025 am 01:58 AM

Di mana sahaja, untuk keluar dari gelung bersarang, anda harus menggunakan kenyataan rehat berlabel atau kembali melalui fungsi; 1. Gunakan Break Dilabel: Letakkan tag sebelum gelung luar, seperti OUerloop: untuk {...}, gunakan breakouterloop dalam gelung dalaman untuk terus keluar dari gelung luar; 2. Letakkan gelung bersarang ke dalam fungsi, dan kembali terlebih dahulu apabila syarat -syarat dipenuhi, dengan itu menamatkan semua gelung; 3. Elakkan menggunakan pembolehubah bendera atau goto, yang pertama adalah panjang dan mudah membuat kesilapan, dan yang terakhir tidak disyorkan; Cara yang betul adalah bahawa tag mestilah sebelum gelung dan bukannya selepas itu, yang merupakan cara idiomatik untuk keluar dari gelung berbilang lapisan di GO.

Menggunakan pakej konteks di GO untuk pembatalan dan tamat masa Menggunakan pakej konteks di GO untuk pembatalan dan tamat masa Jul 29, 2025 am 04:08 AM

UseContextTopropagateCanCanCellationandDeadlinSacrossgoroutines, enablingCooperativeCancellationInhttpservers, BackgroundTasks, andChainedCalls.WithContext.WithCancel (), CreateAcancellableContextandCallCancel () Tosignalters () tosignalters () tosignalters ()

See all articles