Lua Academy · Pelajaran

Aritmetik Masa

Tambah dan bandingkan masa.

Pelajaran 3 daripada 413 langkah

Aritmetik Masa ialah pelajaran Lua Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Lua Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Lua Academy merangkumi sejumlah 4 pelajaran.

Masa Hanyalah Nombor

Oleh sebab os.time mengembalikan bilangan saat biasa, pengiraan tarikh kebanyakannya hanyalah operasi aritmetik biasa. Tambah saat untuk bergerak ke hadapan dan tolak untuk melihat ke belakang.

Pelajaran ini menunjukkan cara mengalihkan masa, membandingkannya dan mencari jurang antara dua detik.

Saat dalam Minit, Jam, Hari

Untuk bekerja dengan unit yang lebih besar, ingat kiraan asas: 60 saat dalam seminit, 3600 dalam sejam dan 86400 dalam sehari.

Darabkan dengan pemalar ini untuk menyatakan apa-apa tempoh dalam saat.

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

Sejam Kemudian

Untuk mendapatkan masa sejam dari sekarang, ambil os.time() dan tambah 3600 saat.

Berikan nombor baharu itu 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))

Semalam dan Esok

Tambah 86400 saat untuk melompat sehari ke hadapan, atau tolak nilai itu untuk berundur sehari.

Cara ini membolehkan anda mengira tarikh esok atau semalam dengan cepat tanpa perlu risau tentang sempadan bulan.

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

Membina Tarikh Tertentu

Mulakan pengiraan daripada tarikh tetap dengan membinanya menggunakan jadual. Di sini, kita mencipta Hari Tahun Baharu 2025 dan kemudian menambah seminggu.

Masa yang ditambah itu bergerak dengan betul 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 Masa

Memandangkan masa ialah nombor, operator perbandingan biasa boleh digunakan. Nombor yang lebih besar bermaksud detik yang lebih lewat.

Hal ini memudahkan anda menyemak sama ada tarikh akhir telah berlalu.

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

Perbezaan dalam Saat

Menolak satu masa daripada masa yang lain memberikan jurang dalam saat. Lua juga menawarkan os.difftime(a, b) yang mengembalikan a - b sebagai nombor.

Menggunakan os.difftime ialah cara mudah alih yang disyorkan untuk mencari tempoh.

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))

Menukar Saat kepada Hari

Perbezaan dalam saat mentah adalah besar, jadi bahagikannya untuk mendapatkan unit yang lebih mudah difahami. Bahagikan dengan 86400 untuk mendapatkan hari, atau dengan 3600 untuk mendapatkan jam.

Gunakan math.floor untuk membuang bahagian pecahan apabila anda hanya mahukan unit penuh.

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

Bilangan Hari Sebelum Sesuatu Acara

Gabungkan idea-idea ini untuk mengira detik menuju tarikh akan datang. Tolak masa sekarang daripada sasaran, kemudian tukarkan saat kepada hari penuh.

Pola ini menjadi asas pemasa kira detik dan aplikasi peringatan.

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)

Menormalkan Dengan os.time

Satu helah yang berguna: berikan os.time jadual dengan medan di luar julat, lalu Lua akan membetulkannya. Hari ke-32 pada bulan Januari menjadi 1 Februari.

Dengan cara ini, anda boleh menambah hari dengan hanya meningkatkan medan day, dan Lua akan mengurus kalendar tersebut.

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

Menambah Sebulan Dengan Selamat

Oleh sebab penormalan, anda boleh menaikkan medan month melebihi 12 dan Lua akan mengalihkan tahun ke hadapan.

Bulan ke-13 tahun 2025 secara automatik menjadi Januari 2026.

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

Semakan Pantas

Gunakan pengetahuan anda tentang pengiraan masa.

Ulang Kaji

Nilai masa ialah nombor, jadi tambahkan atau tolak saat untuk mengalihkannya: 3600 saat sejam, 86400 saat sehari. Bandingkan masa secara terus dengan > dan <.

Gunakan os.difftime untuk mendapatkan perbezaan antara dua masa, kemudian bahagikan untuk mendapatkan jam atau hari. Ingat juga bahawa os.time menormalkan medan jadual yang di luar julat, lalu memudahkan pengiraan kalendar.

Percuma untuk bermula

Pelajari Lua dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
40
Pelajaran
159

Soalan Lazim

Adakah pelajaran “Aritmetik Masa” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Lua Academy, termasuk “Aritmetik Masa”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Lua Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Aritmetik Masa”?

Tambah dan bandingkan masa. Anda berlatih Lua Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Lua Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Lua Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Aritmetik Masa” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Lua Academy ini?

Ya. Setiap pelajaran Lua Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. os.time dan os.date
  2. Memformat Tarikh
  3. Aritmetik Masa
  4. Mengukur Tempoh
← Kembali ke Lua Academy