Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengira Perbezaan Antara Dua Kejadian Masa dalam Go?

Bagaimana untuk Mengira Perbezaan Antara Dua Kejadian Masa dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-12-09 04:56:09217semak imbas

How to Calculate the Difference Between Two Time Instances in Go?

Menentukan Perbezaan Masa

Anda mempunyai dua kejadian masa. Masa dan anda perlu mengira perbezaannya dalam jam, minit dan saat. Pertimbangkan senario:

  • t1 = "2016-09-09 19:09:16 0530 IST"
    t2 = "2016-09-09 19:09:16 0530 IST"
    (Hasil: 00:00:00)
  • t1 = "14-09-2016 14:12:48 0530 IST"
    t2 = "14-09-2016 14:18:29 0530 IST"
    (Hasil: 00:05:41)

Penyelesaian

Untuk mengira perbezaan, gunakan fungsi Time.Sub(). Hasilnya ialah masa.Nilai Tempoh.

Masa.Tempoh mencetak sendiri dengan bijak:

package main

import (
    "fmt"
    "time"
)

func main() {
    t1 := time.Now()
    t2 := t1.Add(time.Second * 341)

    fmt.Println(t1)
    fmt.Println(t2)

    diff := t2.Sub(t1)
    fmt.Println(diff)
}

Output:

2009-11-10 23:00:00 +0000 UTC
2009-11-10 23:05:41 +0000 UTC
5m41s

Untuk format masa HH:mm :ss, bina nilai masa. Masa dan gunakan Time.Format()nya kaedah:

out := time.Time{}.Add(diff)
fmt.Println(out.Format("15:04:05"))

Output:

00:05:41

Ini berfungsi untuk perbezaan masa di bawah 24 jam. Untuk perbezaan yang lebih besar, pertimbangkan untuk menggunakan penyelesaian yang merangkumi hari, bulan dan tahun.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Perbezaan Antara Dua Kejadian Masa 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