Waktu dan Durasi
Representasikan momen dan interval
Waktu dan Durasi adalah pelajaran Go Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Go Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Go Academy mencakup 4 pelajaran total.
Paket time
Paket time Go merepresentasikan momen dalam waktu dan rentang di antara momen-momen tersebut.
time.Timeadalah suatu saat tertentu.time.Durationadalah durasi waktu.
package main
import (
"fmt"
"time"
)
func main() {
var d time.Duration = 2 * time.Second
fmt.Println(d)
}Mendapatkan Waktu Saat Ini
time.Now() mengembalikan saat ini sebagai time.Time. (Nilai tepatnya bergantung pada waktu program dijalankan.)
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
fmt.Println(now.Year())
}Membangun Waktu Tertentu
time.Date menyusun momen yang tepat dari bagian-bagiannya: tahun, bulan, hari, jam, menit, detik, nanodetik, dan lokasi.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, time.May, 30, 9, 0, 0, 0, time.UTC)
fmt.Println(t)
}Membaca Komponen Waktu
Sebuah time.Time menyediakan metode seperti Year, Month, Day, Hour, dan Weekday.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, time.May, 30, 0, 0, 0, 0, time.UTC)
fmt.Println(t.Month(), t.Day(), t.Weekday())
}Konstanta Durasi
Susun durasi dengan mengalikan konstanta satuan: time.Hour, time.Minute, time.Second, time.Millisecond.
package main
import (
"fmt"
"time"
)
func main() {
d := 1*time.Hour + 30*time.Minute
fmt.Println(d)
}Mengonversi Durasi
Metode seperti Seconds(), Minutes(), dan Hours() mengembalikan durasi sebagai float64 dalam satuan tersebut.
package main
import (
"fmt"
"time"
)
func main() {
d := 90 * time.Minute
fmt.Println(d.Hours())
fmt.Println(d.Seconds())
}Menambahkan Waktu
t.Add(d) mengembalikan waktu baru yang digeser sebesar suatu durasi. Nilai aslinya tidak berubah karena time.Time merupakan tipe nilai.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, time.May, 30, 9, 0, 0, 0, time.UTC)
later := t.Add(2 * time.Hour)
fmt.Println(later.Hour())
}Menambahkan Satuan Kalender
t.AddDate(years, months, days) menggeser waktu berdasarkan jumlah kalender dan menangani panjang bulan serta tahun kabisat dengan benar.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, time.January, 31, 0, 0, 0, 0, time.UTC)
next := t.AddDate(0, 1, 0)
fmt.Println(next.Month(), next.Day())
}Perbedaan antara Waktu
t2.Sub(t1) mengembalikan Duration di antara dua waktu. Hasil negatif berarti t2 lebih awal.
package main
import (
"fmt"
"time"
)
func main() {
a := time.Date(2026, time.May, 30, 9, 0, 0, 0, time.UTC)
b := time.Date(2026, time.May, 30, 12, 0, 0, 0, time.UTC)
fmt.Println(b.Sub(a))
}Membandingkan Waktu
Gunakan Before, After, dan Equal untuk membandingkan momen. Hindari == karena operator tersebut juga membandingkan lokasi internal.
package main
import (
"fmt"
"time"
)
func main() {
a := time.Date(2026, 5, 30, 9, 0, 0, 0, time.UTC)
b := time.Date(2026, 5, 30, 10, 0, 0, 0, time.UTC)
fmt.Println(a.Before(b))
}Stempel Waktu Unix
t.Unix() memberikan jumlah detik sejak 1 Januari 1970. time.Unix(sec, 0) mengonversinya kembali menjadi time.Time.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 0, 0, 0, 0, time.UTC)
secs := t.Unix()
fmt.Println(time.Unix(secs, 0).UTC().Year())
}Pemeriksaan Singkat
Apa yang dikembalikan oleh t2.Sub(t1)?
Ringkasan: Waktu dan Durasi
Anda telah mempelajari model waktu inti:
time.Timeadalah sebuah momen;time.Durationadalah sebuah rentang.- Buat dengan
NowdanDate; geser denganAdddanAddDate. - Ukur dengan
Subdan bandingkan denganBefore/After.
package main
import (
"fmt"
"time"
)
func main() {
start := time.Date(2026, 5, 30, 8, 0, 0, 0, time.UTC)
end := start.Add(45 * time.Minute)
fmt.Println(end.Sub(start).Minutes(), "minutes")
}Belajar Go dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 51
- Pelajaran
- 203
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Waktu dan Durasi” gratis?
Ya — teks lengkap “Waktu dan Durasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Go Academy, upgrade ke CoddyKit PRO. Kursus Go Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Waktu dan Durasi”?
Representasikan momen dan interval Kamu berlatih Go Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Go Academy?
Tidak diperlukan pengalaman sebelumnya. Go Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Waktu dan Durasi” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Go Academy ini?
Ya. Setiap pelajaran Go Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Waktu dan Durasi
- Pemformatan dan Penguraian
- Timer dan Ticker
- Zona Waktu