Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk melaksanakan penukaran masa dengan cekap di Golang

Bagaimana untuk melaksanakan penukaran masa dengan cekap di Golang

PHPz
Lepaskan: 2023-04-11 11:48:16
asal
1762 orang telah melayarinya

Golang ialah bahasa pengaturcaraan yang agak muda, tetapi terima kasih kepada kecekapan operasi yang sangat tinggi dan keupayaan pemprosesan serentak yang kukuh, ia semakin digemari oleh pembangun. Dalam pembangunan sebenar, kami selalunya perlu menukar masa kepada rentetan dalam format yang berbeza, atau menukar rentetan kepada masa Dalam artikel ini, kami akan berkongsi cara melaksanakan penukaran masa dengan cekap di Golang.

  1. Jenis masa

Di Golang, terdapat dua jenis masa utama: masa.Masa dan masa.Tempoh. Antaranya, masa.Masa mewakili titik masa, yang boleh digunakan untuk mewakili masa tertentu, seperti jam 12 pada 1 Julai 2021, dan masa. Tempoh mewakili tempoh masa, yang boleh digunakan untuk mewakili masa rentang antara titik masa tertentu Seperti 10 saat, 5 minit, dsb.

  1. Output masa yang diformatkan

Jika anda perlu menukar masa jenis masa.Masa kepada rentetan, anda boleh menggunakan Format() dalam kaedah masa taip. . Kaedah Format() menerima susun atur format masa sebagai parameter input, dan kemudian memformat masa menjadi rentetan yang sepadan.

Berikut ialah contoh kod:

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    fmt.Println(t.Format("2006-01-02 15:04:05"))
}
Salin selepas log masuk

Hasil berjalan:

2021-07-01 12:00:00
Salin selepas log masuk

Dalam rentetan format, aksara yang berbeza mewakili makna yang berbeza, seperti yang ditunjukkan dalam yang berikut jadual Seperti yang ditunjukkan:

格式字符 含义
2006 年(示例使用的年份)
01
02
15 时(24小时制)
03 时(12小时制)
04
05
.000 毫秒
PM 上午或下午(12小时制)
Monday 星期几(完整名称,如Monday)
Mon 星期几(缩写名称,如Mon)
Jan 月份(完整名称,如January)
Jan 月份(缩写名称,如Jan)
MST 时区名称(如MST、PST等)

Selain menggunakan aksara format yang dipratentukan, anda juga boleh menyesuaikan rentetan yang diformat, contohnya:

t := time.Now()
fmt.Println(t.Format("2006年01月02日 15:04:05.000 PM MST"))
Salin selepas log masuk
  1. Rentetan kepada jenis masa

Jika anda perlu menukar rentetan kepada masa jenis masa. Masa, anda boleh menggunakan kaedah time.Parse(). Kaedah Parse() menerima dua parameter, parameter pertama ialah rentetan masa, dan parameter kedua ialah susun atur format masa. Contohnya:

package main

import (
    "fmt"
    "time"
)

func main() {
    str := "2021-07-01 12:00:00"
    layout := "2006-01-02 15:04:05"
    t, err := time.Parse(layout, str)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(t)
}
Salin selepas log masuk

Dalam kod di atas, kami menukar rentetan kepada masa. Pembolehubah jenis masa t, dan tentukan ralat dalam proses penukaran dalam kod untuk memastikan keteguhan jantina program.

  1. Kira perbezaan masa

Di Golang, kita boleh terus menggunakan penolakan untuk mengira perbezaan masa, contohnya:

package main

import (
    "fmt"
    "time"
)

func main() {
    t1 := time.Date(2021, 7, 1, 12, 0, 0, 0, time.Local)
    t2 := time.Date(2021, 7, 1, 12, 1, 0, 0, time.Local)
    duration := t2.Sub(t1)
    fmt.Println(duration)
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi time.Date() untuk mencipta dua kali t1 dan t2, mengira perbezaan masanya dan menyimpan hasilnya kepada tempoh masa jenis berubah. Tempoh.

  1. Tukar cap masa kepada masa. Jenis masa

Dalam program, cap masa kadangkala digunakan untuk mewakili masa. Unix() boleh digunakan dalam Kaedah Golang menukar cap masa ke dalam masa jenis masa.Masa. Contohnya:

package main

import (
    "fmt"
    "time"
)

func main() {
    timestamp := int64(1625133600)
    t := time.Unix(timestamp, 0)
    fmt.Println(t)
}
Salin selepas log masuk

Hasil larian:

2021-07-01 13:00:00 +0800 CST
Salin selepas log masuk

Dalam kod di atas, kami menambah cap masa 1625133600 (yang mewakili 13:00 waktu Beijing pada 1 Julai 2021 ) ditukar ke dalam masa t jenis masa.Masa menggunakan kaedah masa.Unix().

  1. Nota mengenai operasi masa

Apabila menggunakan Golang untuk operasi masa, anda perlu memberi perhatian kepada perkara berikut:

1) Apabila menggunakan masa Apabila kaedah .Parse() menukar rentetan kepada masa jenis masa. Masa, ia mesti memastikan bahawa rentetan masa sepadan dengan format reka letak format masa, jika tidak ralat akan berlaku.

2) Apabila kita perlu melakukan penukaran zon masa semasa memproses masa, kita perlu menggunakan dua pembolehubah masa.UTC() dan masa.Masa Tempatan.UTC() mewakili Waktu Universal Selaras dan masa. Tempatan mewakili Zon masa semasa sistem.

3) Semasa memproses masa, jika anda perlu mendapatkan bahagian masa yang berasingan seperti tahun, bulan, hari, jam, minit dan saat, anda boleh menggunakan Tahun(), Bulan(), Hari( ), Jam( dalam masa. Jenis masa ), Minit(), Second() dan kaedah lain.

4) Apabila menggunakan masa. Pembolehubah jenis tempoh untuk mewakili jangka masa, anda boleh menggunakan kaedah masa.ParseDuration() untuk menukar rentang masa jenis rentetan kepada masa. Pembolehubah jenis tempoh dan mengawal ketepatan .

Ringkasnya, apabila menggunakan Golang untuk memproses masa, anda perlu memberi perhatian kepada butiran untuk memastikan ketepatan masa dan keteguhan program.

  1. Ringkasan

Dalam artikel ini, kami membincangkan cara melaksanakan operasi penukaran masa di Golang, termasuk output berformat masa, penukaran rentetan kepada masa. Jenis masa, titik Pengetahuan pada mengira perbezaan masa, menukar cap masa kepada masa.Jenis masa, dsb. Dengan menguasai pengetahuan ini, kami boleh membantu kami menangani isu berkaitan masa dengan lebih cekap dan meningkatkan kepraktisan dan kebolehpercayaan program.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penukaran masa dengan cekap di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan