unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
Date & Time

Date & Time #

Golang menyediakan paket time untuk menangani tipe data date dan time. Paket ini menyediakan fungsi-fungsi dan tipe data untuk mengelola waktu, tanggal, durasi, dan format waktu. Berikut adalah penjelasan tentang tipe date time di Golang dan berbagai operasi yang dapat dilakukan:

Mengimpor Paket time #

Untuk menggunakan fungsi dan tipe data yang disediakan oleh paket time, Anda harus mengimpornya terlebih dahulu.

import "time"

Mendapatkan Waktu Saat Ini #

Fungsi time.Now() digunakan untuk mendapatkan waktu saat ini.

now := time.Now()
fmt.Println(now)

Membuat Objek Waktu #

Anda dapat membuat objek waktu dengan menggunakan fungsi time.Date.

t := time.Date(2024, time.July, 28, 15, 30, 0, 0, time.UTC)
fmt.Println(t)

Menguraikan String Waktu #

Fungsi time.Parse digunakan untuk menguraikan string waktu ke dalam objek waktu.

layout := "2006-01-02 15:04:05"
t, err := time.Parse(layout, "2024-07-28 15:30:00")
if err != nil {
    fmt.Println(err)
}
fmt.Println(t)

Format Tanggal dan Waktu #

Fungsi Format digunakan untuk mengubah objek waktu menjadi string dengan format tertentu.

formatted := now.Format("2006-01-02 15:04:05")
fmt.Println(formatted)

Menambahkan Durasi ke Waktu #

Anda dapat menambahkan durasi ke objek waktu menggunakan metode Add.

later := now.Add(time.Hour * 2)
fmt.Println(later)

Mengurangi Durasi dari Waktu #

Anda dapat mengurangi durasi dari objek waktu menggunakan metode Add dengan durasi negatif.

earlier := now.Add(-time.Hour * 2)
fmt.Println(earlier)

Menghitung Selisih Antara Dua Waktu #

Fungsi Sub digunakan untuk menghitung selisih antara dua objek waktu.

duration := later.Sub(now)
fmt.Println(duration)

Mendapatkan Komponen Waktu #

Anda dapat mendapatkan komponen waktu (seperti tahun, bulan, hari, dll.) dari objek waktu.

year, month, day := now.Date()
hour, minute, second := now.Clock()
fmt.Printf("Date: %d-%d-%d\n", year, month, day)
fmt.Printf("Time: %d:%d:%d\n", hour, minute, second)

Contoh Lengkap Penggunaan Tipe date time #

package main

import (
    "fmt"
    "time"
)

func main() {
    // Mendapatkan waktu saat ini
    now := time.Now()
    fmt.Println("Current time:", now)

    // Membuat objek waktu
    t := time.Date(2024, time.July, 28, 15, 30, 0, 0, time.UTC)
    fmt.Println("Specific time:", t)

    // Menguraikan string waktu
    layout := "2006-01-02 15:04:05"
    parsedTime, err := time.Parse(layout, "2024-07-28 15:30:00")
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println("Parsed time:", parsedTime)

    // Format tanggal dan waktu
    formatted := now.Format("2006-01-02 15:04:05")
    fmt.Println("Formatted time:", formatted)

    // Menambahkan durasi ke waktu
    later := now.Add(time.Hour * 2)
    fmt.Println("Two hours later:", later)

    // Mengurangi durasi dari waktu
    earlier := now.Add(-time.Hour * 2)
    fmt.Println("Two hours earlier:", earlier)

    // Menghitung selisih antara dua waktu
    duration := later.Sub(now)
    fmt.Println("Duration between now and two hours later:", duration)

    // Mendapatkan komponen waktu
    year, month, day := now.Date()
    hour, minute, second := now.Clock()
    fmt.Printf("Date: %d-%d-%d\n", year, month, day)
    fmt.Printf("Time: %d:%d:%d\n", hour, minute, second)
}

Zona Waktu #

Anda juga dapat mengatur dan mengonversi zona waktu menggunakan paket time.

Mengatur Zona Waktu #

location, err := time.LoadLocation("America/New_York")
if err != nil {
    fmt.Println(err)
}
newYorkTime := now.In(location)
fmt.Println("New York time:", newYorkTime)

Mengonversi ke Zona Waktu Lain #

utcTime := now.UTC()
fmt.Println("UTC time:", utcTime)

Kesimpulan #

Dengan memahami tipe date time dan berbagai operasi yang dapat dilakukan, Anda dapat mengelola dan memanipulasi data waktu dengan cara yang efisien dan akurat dalam program Golang.

« Map
Regex »