Rumah >pembangunan bahagian belakang >Golang >penukaran tarikh golang

penukaran tarikh golang

王林
王林asal
2023-05-21 14:16:071163semak imbas

Penukaran tarikh Golang

Dalam Golang, tarikh diwakili dalam pelbagai cara, termasuk masa.Masa, rentetan, int64, dsb. Oleh itu, bagaimana untuk menukar tarikh ini adalah soalan biasa.

Artikel ini akan memperkenalkan kaedah biasa penukaran tarikh di Golang. Ia terutamanya merangkumi aspek berikut:

  1. masa.Masa untuk rentetan
  2. rentetan ke masa.Masa
  3. int64 ke masa.Masa
  4. masa .Masa untuk int64
  5. Penukaran tarikh dalam format lain
  6. masa.Masa untuk rentetan

masa.Jenis masa boleh ditukar kepada rentetan menggunakan fungsi Format. Contohnya:

t := time.Now()
str := t.Format("2006-01-02 15:04:05") // 以指定格式转换为字符串

Antaranya, parameter Format ialah rentetan format tarikh Untuk format tertentu, sila rujuk dokumentasi Golang.

  1. rentetan ke masa.Masa

rentetan ke masa.Masa Anda boleh menggunakan fungsi masa.Parse. Contohnya:

str := "2022-03-25 10:30:00"
t, err := time.Parse("2006-01-02 15:04:05", str) // 将字符串解析成时间
if err != nil {
    // 解析失败
}

Antaranya, parameter pertama ialah rentetan format tarikh, dan parameter kedua ialah rentetan yang perlu dihuraikan. Jika penghuraian gagal, ralat tidak kosong.

  1. int64 kepada masa.Masa

Di Golang, cap waktu biasanya diwakili oleh jenis int64, yang boleh ditukar kepada masa. Jenis masa menggunakan fungsi masa.Unix. Contohnya:

timestamp := int64(1648238400)
t := time.Unix(timestamp, 0) // 将时间戳转换成时间

di mana parameter pertama ialah cap waktu, dan parameter kedua ialah nanosaat, yang boleh ditetapkan kepada 0.

  1. masa.Masa ke int64

masa.Jenis masa boleh ditukar menjadi cap masa menggunakan fungsi Unix. Contohnya:

t := time.Now()
timestamp := t.Unix() // 将时间转换成时间戳

Fungsi ini mengembalikan cap masa jenis int64.

  1. Penukaran tarikh dalam format lain

Jika anda perlu menukar tarikh dalam format lain kepada masa. Jenis masa, anda boleh menukarnya kepada jenis rentetan dahulu, dan kemudian gunakan masa. Parse fungsi parsing. Contohnya:

date := "2022年03月25日 10时30分00秒"
layout := "2006年01月02日 15时04分05秒" // 对应日期格式字符串
str, err := time.Parse(layout, date) // 先将其转换成字符串
if err != nil {
    // 解析失败
}
t, err := time.Parse("2006-01-02 15:04:05", str.Format("2006-01-02 15:04:05")) // 再解析成时间
if err != nil {
    // 解析失败
}

Di atas ialah kaedah biasa penukaran tarikh di Golang. Sama ada anda menukar masa.Masa kepada rentetan, atau menukar rentetan kepada masa.Masa, anda boleh menukarnya melalui fungsi dalam pustaka standard Golang. Untuk tarikh dalam format lain, anda boleh menukarnya kepada jenis rentetan dahulu dan kemudian menggunakan fungsi masa. Parse untuk menghuraikannya.

Atas ialah kandungan terperinci penukaran tarikh golang. 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