Rumah >pembangunan bahagian belakang >Golang >golang tukar cap waktu

golang tukar cap waktu

王林
王林asal
2023-05-15 14:10:091409semak imbas

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.

  1. Gunakan fungsi masa.Unix() untuk menukar cap masa kepada nilai masa

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.

  1. Gunakan fungsi masa.UnixNano() untuk menukar cap masa kepada nanosaat

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.

  1. Gunakan kaedah masa.Since() untuk menukar cap masa kepada tempoh

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.

  1. Gunakan kaedah masa.Now().Unix() untuk mendapatkan cap masa masa semasa

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.

  1. Gunakan kaedah time.Parse() untuk menukar rentetan kepada nilai masa

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 0Masa 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!

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