0Pricing
Lua Academy · Pelajaran

Aritmetika Waktu

Tambah dan bandingkan waktu.

Aritmetika Waktu adalah pelajaran Lua Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Lua Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Lua Academy mencakup 4 pelajaran total.

time Hanyalah Angka

Karena os.time mengembalikan detik biasa, perhitungan date sebagian besar hanyalah aritmetika biasa. Tambahkan detik untuk bergerak maju, dan kurangi untuk melihat waktu sebelumnya.

Pelajaran ini menunjukkan cara menggeser time, membandingkannya, dan menemukan selisih antara dua momen.

Detik dalam Menit, Jam, dan Hari

Untuk bekerja dengan satuan yang lebih besar, ingat jumlah dasarnya: 60 detik dalam satu menit, 3600 dalam satu jam, dan 86400 dalam satu hari.

Kalikan dengan konstanta-konstanta ini untuk menyatakan durasi apa pun dalam detik.

print("Minute:", 60)
print("Hour:", 60 * 60)
print("Day:", 24 * 60 * 60)

Satu Jam Kemudian

Untuk mendapatkan time satu jam dari sekarang, ambil os.time() lalu tambahkan 3600 detik.

Berikan angka baru tersebut kepada os.date untuk melihat hasilnya sebagai teks yang mudah dibaca.

local now = os.time()
local later = now + 3600
print(os.date("%H:%M", now))
print(os.date("%H:%M", later))

Kemarin dan Besok

Tambahkan 86400 detik untuk melompat satu hari ke depan, atau kurangi angka tersebut untuk mundur satu hari.

Ini adalah cara cepat untuk menghitung date besok atau kemarin tanpa mengkhawatirkan batas antarbulan.

local now = os.time()
print("Yesterday:", os.date("%Y-%m-%d", now - 86400))
print("Tomorrow: ", os.date("%Y-%m-%d", now + 86400))

Membuat Date Tertentu

Mulai perhitungan dari date tetap dengan membuatnya menggunakan tabel. Di sini, kami membuat Hari Tahun Baru 2025 lalu menambahkan satu pekan.

Time yang ditambahkan bergeser dengan benar ke 8 Januari.

local start = os.time({year=2025, month=1, day=1})
local week = start + 7 * 86400
print(os.date("%Y-%m-%d", week))

Membandingkan Dua time

Karena time berupa angka, operator perbandingan biasa dapat digunakan. Angka yang lebih besar berarti momen yang lebih baru.

Dengan demikian, Anda dapat dengan mudah memeriksa apakah tenggat telah terlewati.

local deadline = os.time({year=2020, month=1, day=1})
local now = os.time()
if now > deadline then
  print("Deadline has passed")
end

Selisih dalam Detik

Mengurangkan satu time dari time lainnya memberikan selisih dalam detik. Lua juga menyediakan os.difftime(a, b), yang mengembalikan a - b sebagai angka.

Menggunakan os.difftime adalah cara yang portabel dan direkomendasikan untuk menemukan rentang waktu.

local a = os.time({year=2025, month=1, day=2})
local b = os.time({year=2025, month=1, day=1})
print(os.difftime(a, b))

Mengubah Detik Menjadi Hari

Selisih dalam detik biasanya besar, jadi bagilah untuk mendapatkan satuan yang lebih mudah dipahami. Bagi dengan 86400 untuk mendapatkan hari, atau dengan 3600 untuk mendapatkan jam.

Gunakan math.floor untuk menghapus bagian pecahan jika Anda hanya menginginkan satuan bulat.

local diff = os.difftime(
  os.time({year=2025, month=1, day=11}),
  os.time({year=2025, month=1, day=1}))
print(diff / 86400, "days")

Hari Menjelang Suatu Acara

Gabungkan gagasan-gagasan tersebut untuk menghitung mundur menuju tanggal mendatang. Kurangi waktu sekarang dari waktu target, lalu ubah detik menjadi hari penuh.

Pola ini menjadi dasar pengatur waktu hitung mundur dan aplikasi pengingat.

local target = os.time({year=2030, month=1, day=1})
local secs = os.difftime(target, os.time())
local days = math.floor(secs / 86400)
print("Days left:", days)

Normalisasi Dengan os.time

Ada trik yang menarik: berikan os.time sebuah tabel dengan bidang di luar rentang, lalu Lua akan memperbaikinya. Hari ke-32 pada bulan Januari menjadi tanggal 1 Februari.

Dengan cara ini, Anda dapat menambahkan hari hanya dengan menaikkan bidang day, dan Lua akan mengatur kalendernya.

local t = os.time({year=2025, month=1, day=32})
print(os.date("%Y-%m-%d", t))

Menambahkan Bulan Dengan Aman

Karena adanya normalisasi, Anda dapat menaikkan bidang month melewati 12 dan Lua akan meneruskan tahunnya.

Bulan ke-13 tahun 2025 otomatis menjadi Januari 2026.

local t = os.time({year=2025, month=13, day=1})
print(os.date("%Y-%m-%d", t))

Pemeriksaan Singkat

Terapkan pengetahuan Anda tentang perhitungan waktu.

Ringkasan

Nilai waktu adalah angka, jadi tambahkan atau kurangi detik untuk menggesernya: 3600 detik per jam, 86400 detik per hari. Bandingkan waktu secara langsung dengan > dan <.

Gunakan os.difftime untuk menghitung selisih antara dua waktu, lalu bagi untuk mendapatkan jam atau hari. Ingat juga bahwa os.time menormalkan bidang tabel yang berada di luar rentang, sehingga perhitungan kalender menjadi sederhana.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Aritmetika Waktu” gratis?

Ya — teks lengkap “Aritmetika Waktu” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Lua Academy, upgrade ke CoddyKit PRO. Kursus Lua Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Aritmetika Waktu”?

Tambah dan bandingkan waktu. Kamu berlatih Lua 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 Lua Academy?

Tidak diperlukan pengalaman sebelumnya. Lua 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 3 dari 4.

Berapa lama pelajaran “Aritmetika Waktu” 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 Lua Academy ini?

Ya. Setiap pelajaran Lua 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

  1. os.time dan os.date
  2. Memformat Tanggal
  3. Aritmetika Waktu
  4. Mengukur Durasi
← Kembali ke Lua Academy