Rumah > pembangunan bahagian belakang > Golang > Penggunaan perpustakaan pemprosesan masa dalam bahasa Go

Penggunaan perpustakaan pemprosesan masa dalam bahasa Go

WBOY
Lepaskan: 2023-06-03 12:10:33
asal
739 orang telah melayarinya

Dalam pembangunan perisian, masa pemprosesan adalah isu yang berulang. Terutamanya dalam sistem yang besar, masa adalah bahagian penting dalam merekod acara, penjadualan tugas dan menganalisis data. Oleh itu, menggunakan perpustakaan pemprosesan masa yang sesuai menjadi tugas yang sangat penting. Artikel ini akan memperkenalkan penggunaan pustaka pemprosesan masa time dalam bahasa Go.

Perwakilan masa

Dalam bahasa Go, kita boleh menggunakan jenis time.Time untuk mewakili masa. Nilai jenis Time mengandungi maklumat tahun, bulan, hari, jam, minit, saat, nanosaat dan zon waktu. Jenis ini terbina dalam jadi kami tidak perlu memasang sebarang perpustakaan tambahan untuk menggunakannya.

Dapatkan masa semasa

Cara untuk mendapatkan waktu tempatan semasa ialah menggunakan fungsi time.Now(). Ia akan mengembalikan objek masa jenis time.Time, yang mewakili masa semasa semasa program berjalan.

func main() {
    current_time := time.Now()
    fmt.Println(current_time)
}
Salin selepas log masuk

Hasil keluaran:

2021-05-17 16:34:22.7241986 +0800 CST m=+0.000731901
Salin selepas log masuk

Pemformatan masa

Ia adalah keperluan yang sangat biasa untuk memaparkan masa dalam format yang berbeza. Dalam bahasa Go, kita boleh menggunakan fungsi time.Format() untuk memformat masa. Fungsi ini menerima rentetan format dan menukar objek masa ke rentetan yang sepadan mengikut format ini.

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

Hasil keluaran:

2021-05-17 16:34:22
Salin selepas log masuk

Dalam rentetan format, beberapa ruang letak yang biasa digunakan adalah seperti berikut:

占位符含义
2006固定为4位的年份,表示是一种标准
01固定为2位的月份,不足两位左侧补0
02固定为2位的日期,不足两位左侧补0
15固定为2位的小时,24小时制,不足两位左侧补0
04固定为2位的分钟,不足两位左侧补0
05固定为2位的秒,不足两位左侧补0

Kendalian masa

Pemprosesan masa perpustakaan bahasa Go juga menyediakan beberapa kaedah operasi masa.

Naikkan atau kurangkan tempoh Kaedah

time.Add() membolehkan kami menambah atau mengurangkan tempoh masa:

func main() {
    current_time := time.Now()
    after_one_hour := current_time.Add(time.Hour)
    fmt.Println(after_one_hour)
}
Salin selepas log masuk

Output:

2021-05-17 17:34:22.6523704 +0800 CST m=+3601.928903701
Salin selepas log masuk

Dalam ini contoh , kami menggunakan time.Hour untuk mewakili tempoh satu jam, dan kemudian menggunakan kaedah Add() untuk menambah masa semasa pada tempoh ini. Nilai pulangan kaedah ini ialah objek masa, yang mewakili titik masa satu jam selepas masa semasa.

Kita juga boleh menggunakan kaedah time.Sub() untuk mengira perbezaan masa antara dua masa:

func main() {
    start_time := time.Now()
    end_time := time.Now().Add(time.Hour)
    duration := end_time.Sub(start_time)
    fmt.Println(duration)
}
Salin selepas log masuk

Hasil keluaran:

1h0m0s
Salin selepas log masuk

Hasil pengiraan di sini ialah time.Duration Nilai jenis yang mewakili tempoh masa antara dua titik dalam masa. Kaedah

Tetapkan Masa

time.Date() membolehkan kita mencipta objek masa berdasarkan tahun, bulan, hari, jam, minit, saat dan zon waktu yang ditentukan:

func main() {
    t := time.Date(2021, 5, 17, 15, 30, 0, 0, time.Local)
    fmt.Println(t)
}
Salin selepas log masuk

Hasil Output:

2021-05-17 15:30:00 +0800 CST
Salin selepas log masuk

Dapatkan maklumat masa

Time jenis menyediakan beberapa kaedah untuk mendapatkan maklumat masa, seperti tahun, bulan, hari, jam, minit, saat, dsb. Berikut ialah beberapa kaedah yang biasa digunakan:

func main() {
    current_time := time.Now()
    fmt.Println(current_time.Year())      // 获取年份
    fmt.Println(current_time.Month())     // 获取月份
    fmt.Println(current_time.Day())       // 获取日期
    fmt.Println(current_time.Hour())      // 获取小时数
    fmt.Println(current_time.Minute())    // 获取分钟数
    fmt.Println(current_time.Second())    // 获取秒数
    fmt.Println(current_time.Weekday())   // 获取星期几,0表示星期日
}
Salin selepas log masuk

Hasil keluaran:

2021
May
17
16
34
22
Monday
Salin selepas log masuk

Dokumentasi rujukan

  • [Go language official documentation](https://golang.org / pkg/time/)
  • [Penggunaan masa dan tarikh Golang](https://www.runoob.com/w3cnote/go-datetime.html)

Atas ialah kandungan terperinci Penggunaan perpustakaan pemprosesan masa dalam bahasa Go. 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