os.time dan os.date
Dapatkan waktu saat ini.
os.time dan os.date adalah pelajaran Lua 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 Lua Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Lua Academy mencakup 4 pelajaran total.
Mengapa time Penting
Program sering perlu mengetahui time saat ini. Sebuah gim mencatat kapan Anda mencetak skor, sebuah file catatan membubuhkan penanda waktu pada setiap peristiwa, dan aplikasi pengingat menghitung mundur menuju tenggat.
Lua menyimpan alat-alat time di pustaka bawaan os. Dua fungsi utamanya adalah os.time dan os.date. Dalam pelajaran ini, Anda akan mengenal keduanya.
os.time Mengembalikan Angka
os.time() tanpa argumen mengembalikan momen saat ini sebagai satu angka.
Angka tersebut adalah jumlah detik sejak titik acuan tetap di masa lalu. Angka ini hanyalah bilangan bulat, sehingga Anda dapat menyimpannya, membandingkannya, atau menggunakannya dalam perhitungan.
local now = os.time()
print(now)
print(type(now))Titik Acuan
Pada sebagian besar sistem, titik acuan adalah tengah malam pada 1 Januari 1970, UTC. Jadi, os.time() memberi tahu Anda berapa detik yang telah berlalu sejak saat itu.
Angka besar seperti 1700000000 adalah hal yang wajar. Angka tersebut bertambah satu setiap detik, sehingga sangat cocok untuk membandingkan dua momen.
local seconds = os.time()
print("Seconds since 1970:", seconds)os.date Mengembalikan Teks
Jumlah detik mentah sulit dibaca. os.date() mengubah time menjadi teks yang mudah dipahami.
Jika dipanggil tanpa argumen, fungsi ini mengembalikan teks yang mudah dibaca untuk menggambarkan date dan time saat ini, menggunakan pengaturan lokal sistem Anda.
print(os.date())os.date dengan Format
Biasanya Anda memberikan teks format kepada os.date. Kode khusus yang dimulai dengan % digantikan oleh bagian-bagian dari date.
%Y adalah tahun 4 digit, %m adalah bulan, dan %d adalah hari. Teks lainnya tetap seperti semula.
print(os.date("Year: %Y"))
print(os.date("%Y-%m-%d"))Menggabungkan time dan date
os.date dapat menerima argumen kedua berupa angka time. Berikan hasil dari os.time agar fungsi ini memformat momen yang tepat tersebut.
Tanpa argumen kedua, fungsi ini menggunakan time saat ini, sehingga kedua pemanggilan ini menggambarkan momen yang sama.
local t = os.time()
print(os.date("%Y-%m-%d", t))Lokal dan UTC
Secara bawaan, os.date menggunakan zona time lokal Anda. Untuk mendapatkan UTC, yaitu waktu universal, awali teks format dengan tanda seru !.
Hal ini penting untuk server dan aplikasi yang digunakan di seluruh dunia, karena semua pihak perlu menyepakati jam yang sama.
print("Local:", os.date("%H:%M"))
print("UTC: ", os.date("!%H:%M"))Bentuk Tabel
Jika Anda memberikan "*t" sebagai format, os.date mengembalikan tabel, bukan teks.
Tabel tersebut memiliki bidang bernama seperti year, month, day, hour, min, dan sec. Ini berguna saat Anda hanya memerlukan satu bagian tertentu.
local d = os.date("*t")
print(d.year, d.month, d.day)
print(d.hour, d.min, d.sec)Membaca Satu Bidang
Karena bentuk tabel memberikan bidang bernama, mengambil hanya bulan atau jam saat ini menjadi mudah.
Gunakan !*t untuk versi tabel UTC. Setiap bidang berupa angka biasa yang dapat Anda gunakan dalam kondisi.
local d = os.date("*t")
if d.hour < 12 then
print("Good morning")
else
print("Good afternoon")
endos.time dari Tabel
os.time juga dapat bekerja secara terbalik. Berikan tabel yang memiliki year, month, dan day, lalu fungsi ini mengembalikan jumlah detik untuk date tersebut.
Dengan demikian, Anda dapat membuat nilai time untuk date kalender tertentu yang Anda pilih.
local t = os.time({year=2020, month=1, day=1, hour=0})
print(t)
print(os.date("%Y-%m-%d", t))Perjalanan Bolak-Balik
Anda dapat berpindah dengan bebas di antara kedua bentuk tersebut: os.time mengubah tabel menjadi angka, sedangkan os.date("*t", n) mengubah angka kembali menjadi tabel.
Perjalanan bolak-balik ini menjadi dasar untuk perhitungan date, yang akan Anda pelajari dalam pelajaran berikutnya.
local n = os.time({year=2021, month=6, day=15})
local back = os.date("*t", n)
print(back.year, back.month, back.day)Pemeriksaan Singkat
Uji pemahaman Anda tentang kedua fungsi utama tersebut.
Ringkasan
os.time() memberikan momen saat ini sebagai jumlah detik sejak titik acuan. os.date() mengubah time menjadi teks menggunakan kode format %, atau menjadi tabel dengan "*t".
Tambahkan ! untuk UTC, dan berikan angka time sebagai argumen kedua untuk memformat momen tertentu. Bersama-sama, keduanya mencakup hampir semua kebutuhan date dalam Lua.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “os.time dan os.date” gratis?
Ya — teks lengkap “os.time dan os.date” 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 “os.time dan os.date”?
Dapatkan waktu saat ini. 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 1 dari 4.
Berapa lama pelajaran “os.time dan os.date” 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
- os.time dan os.date
- Memformat Tanggal
- Aritmetika Waktu
- Mengukur Durasi