SQLite - Date & Waktu
Hai teman-teman, para pemula pemrograman! Hari ini, kita akan mendalamkan dunia yang menarik tentang tanggal dan waktu di SQLite. Sebagai guru komputer tetangga yang ramah, saya akan mengarahkan Anda dalam perjalanan ini dengan banyak contoh dan penjelasan. Jadi, sabar dan mari kita mulai!
String Waktu
Di SQLite, tanggal dan waktu biasanya disimpan sebagai string teks. Ini mungkin terlihat aneh pertama kali, tapi sebenarnya sangat fleksibel dan mudah untuk digunakan. Mari kita lihat beberapa format umum:
Format ISO8601
Format yang paling umum adalah ISO8601, yang tampak seperti ini:
YYYY-MM-DD HH:MM:SS
Contohnya:
'2023-06-15 14:30:00'
Ini mewakili tanggal 15 Juni 2023, pukul 2:30 sore.
Format Lain yang Diterima
SQLite sangat toleran terhadap format tanggal dan waktu. Berikut adalah beberapa format lain yang diterima:
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
Mari coba sebuah contoh:
CREATE TABLE events (
id INTEGER PRIMARY KEY,
event_name TEXT,
event_date TEXT
);
INSERT INTO events (event_name, event_date) VALUES
('Birthday Party', '2023-07-01'),
('Movie Night', '2023-07-15 20:00'),
('Morning Jog', '06:30');
SELECT * FROM events;
Ini akan membuat tabel dengan berbagai format tanggal dan waktu. Sangat menarik, kan?
Modifier
Sekarang, mari bicarakan tentang modifier. Ini adalah kata kunci khusus yang memungkinkan kita mengubah tanggal dan waktu. Mereka seperti tongkat sihir untuk string waktu kita!
Modifier Umum
Berikut adalah tabel dari modifier umum:
Modifier | Deskripsi |
---|---|
+N days |
Menambah N hari ke tanggal |
-N days |
Mengurangi N hari dari tanggal |
start of month |
Mengubah tanggal menjadi hari pertama bulan |
start of year |
Mengubah tanggal menjadi hari pertama tahun |
weekday N |
Mengubah tanggal menjadi tanggal berikutnya saat hari dalam minggu adalah N (0=Ahad, 1=Senin, dll.) |
Mari lihat modifier ini dalam aksi:
SELECT
date('now') AS today,
date('now', '+1 day') AS tomorrow,
date('now', '-1 month') AS last_month,
date('now', 'start of month') AS month_start,
date('now', 'weekday 1') AS next_monday;
Query ini akan menunjukkan tanggal hari ini, tanggal besok, tanggal satu bulan yang lalu, awal bulan saat ini, dan tanggal Senin berikutnya. Sangat praktis, kan?
Formatter
Formatter adalah seperti stylist dunia tanggal dan waktu. Mereka membantu kita menyajikan tanggal dan waktu kita dalam bentuk yang berbeda.
Fungsi strftime()
Fungsi utama yang kita gunakan untuk pemformatan adalah strftime()
. Ini berarti "string format time". Berikut adalah sintaks dasar:
strftime(format, time-string, modifiers...)
Mari lihat beberapa penentu format umum:
Penentu | Deskripsi |
---|---|
%Y |
Tahun (4 digit) |
%m |
Bulan (01-12) |
%d |
Hari bulan (01-31) |
%H |
Jam (00-23) |
%M |
Menit (00-59) |
%S |
Detik (00-59) |
%w |
Hari minggu (0-6 dengan Ahad=0) |
Sekarang, mari kita gabungkan semuanya:
SELECT
strftime('%Y-%m-%d', 'now') AS date_only,
strftime('%H:%M', 'now') AS time_only,
strftime('%Y-%m-%d %H:%M:%S', 'now') AS date_time,
strftime('%w', 'now') AS day_of_week,
strftime('%Y-%m-%d', 'now', '+1 month') AS next_month;
Query ini akan menunjukkan tanggal saat ini, waktu saat ini, tanggal dan waktu saat ini, hari minggu (0-6), dan tanggal bulan mendatang.
Contoh Menyenangkan
Mariakhiri dengan contoh yang menyenangkan. Bayangkan Anda sedang merencanakan pesta, dan Anda ingin tahu hari minggu apa itu akan menjadi dalam 100 hari mendatang:
SELECT
strftime('%Y-%m-%d', 'now', '+100 days') AS party_date,
CASE cast(strftime('%w', 'now', '+100 days') AS INTEGER)
WHEN 0 THEN 'Sunday'
WHEN 1 THEN 'Monday'
WHEN 2 THEN 'Tuesday'
WHEN 3 THEN 'Wednesday'
WHEN 4 THEN 'Thursday'
WHEN 5 THEN 'Friday'
WHEN 6 THEN 'Saturday'
END AS party_day;
Query ini akan memberitahu Anda tanggal 100 hari mendatang dan hari minggu apa itu akan menjadi. sempurna untuk perencanaan pesta!
Dan itu adalah semua, teman-teman! Kita telah melakukan perjalanan melalui negeri tanggal dan waktu di SQLite. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba fungsi-fungsi ini. Sebelum Anda tahu, Anda akan menjadi ahli tanggal dan waktu! Selamat coding!
Credits: Image by storyset