Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengambil Cap Waktu Unix dengan Betul dalam Go?

Bagaimana untuk Mengambil Cap Waktu Unix dengan Betul dalam Go?

Susan Sarandon
Susan Sarandonasal
2024-12-03 11:02:10416semak imbas

How to Correctly Retrieve a Unix Timestamp in Go?

Mendapatkan Cap Masa Unix dalam Go

Dalam Go, mendapatkan cap waktu Unix (masa semasa dalam saat sejak zaman itu) boleh dicapai menggunakan pakej masa. Cap masa ini sering digunakan untuk pelbagai tujuan, seperti untuk pengubahsuaian fail atau cap masa pangkalan data.

Kod Asal

Kod yang disediakan daripada soalan cuba mendapatkan cap masa Unix menggunakan fungsi os.Time:

if t, _, err := os.Time(); err == nil {
    port[5] = int32(t)
}

Coretan ini mempunyai ralat logik. Berikut ialah pecahan terperinci kod:

  • os.Time(): Fungsi ini mengembalikan jenis Masa, cap masa jam dinding dengan zon waktu yang diimbangi sewenang-wenangnya.
  • _, _, err := os.Time(): Memandangkan kami hanya mengambil berat tentang cap waktu dalam zon waktu tempatan semasa, kami menggunakan dua pembolehubah bernama garis bawah (_ untuk pembolehubah kosong names) untuk membuang dua nilai pulangan yang lain.
  • port[5] = int32(t): Baris ini cuba memberikan nilai Masa terus kepada elemen tatasusunan int32. Walau bagaimanapun, Masa ialah masa. Jenis masa, yang tidak serasi secara langsung dengan int32.

Kod Kemas Kini

Untuk mendapatkan cap waktu Unix dalam Go, a fungsi yang lebih sesuai ialah masa.Now().Unix(). Fungsi ini mengembalikan integer yang mewakili masa semasa sebagai bilangan saat sejak zaman Unix (1 Januari 1970 UTC). Kod yang dikemas kini ialah:

import "time"

...

port[5] = time.Now().Unix()

Kod yang disemak ini mengambil cap masa Unix dengan betul dan memberikannya kepada elemen port[5] sebagai int32 dengan menukarkannya menggunakan masa.Now().Unix(), yang mengembalikan integer.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Cap Waktu Unix dengan Betul dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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