SQLite memiliki time()
fungsi yang memungkinkan Anda mengembalikan nilai waktu berdasarkan string waktu dan pengubah apa pun.
Ini mengembalikan waktu dalam format ini:HH:MM:SS
Untuk menggunakan fungsi ini, Anda perlu menyediakan string waktu, ditambah pengubah (opsional). Pengubah memungkinkan Anda untuk mengubah waktu, seperti menambahkan jumlah jam, mengaturnya ke waktu lokal, dll
Sintaks
Sintaks time()
fungsinya seperti ini:
time(timestring, modifier, modifier, ...)
timestring
argumen harus berupa string waktu yang valid.
modifier
argumen adalah opsional. Anda dapat memberikan satu atau lebih pengubah. Jika Anda memberikan pengubah, itu harus pengubah yang valid.
Contoh
Berikut adalah contoh dasar untuk mendemonstrasikan time()
fungsi yang digunakan dengan satu argumen.
SELECT time('now');
Hasil:
03:47:36
now
string waktu diubah menjadi tanggal dan waktu saat ini. Mengingat saya menggunakan time()
fungsi, hanya bagian waktu yang dikembalikan.
Tambahkan Pengubah
Kita dapat memodifikasi hasil sebelumnya dengan menggunakan pengubah. Ini contohnya.
SELECT time('now', '+5 hours');
Hasil:
08:48:24
Dalam hal ini, saya menambahkan lima jam ke waktu.
Beberapa Pengubah
Seperti yang disebutkan, Anda dapat menambahkan satu atau lebih pengubah. Berikut adalah contoh menambahkan pengubah lain ke contoh sebelumnya.
SELECT time('now', '+5 hours', 'localtime');
Hasil:
18:50:08
localtime
pengubah mengasumsikan string waktu yang disediakan dalam Universal Coordinated Time (UTC). Ini kemudian menyesuaikan string waktu sehingga menampilkan waktu lokal.
Oleh karena itu, Anda mungkin mendapatkan hasil yang berbeda, tergantung pada waktu setempat Anda.
String Literal sebagai Time String
Contoh di atas menggunakan now
sebagai string waktu, tetapi Anda dapat memberikan string waktu yang valid.
Berikut beberapa contoh lainnya.
SELECT time('1999-12-18 17:10:23');
Hasil:
17:10:23
Dalam hal ini hanya menghapus bagian tanggal dari tanggal.
waktu() vs strftime()
time()
fungsi mengembalikan hasil yang persis sama dengan strftime('%H:%M:%S', ...)
kembali. time()
function hanyalah cara yang lebih nyaman untuk melakukannya.
SELECT
time('now'),
strftime('%H:%M:%S', 'now');
Hasil:
time('now') strftime('%H:%M:%S', 'now') ----------- --------------------------- 03:56:09 03:56:09
Rentang Tanggal
Seperti semua fungsi tanggal dan waktu SQLite, time()
hanya berfungsi untuk tanggal antara 0000-01-01 00:00:00 dan 9999-12-31 23:59:59 (nomor hari julian 1721059.5 hingga 5373484.5).
Untuk tanggal di luar rentang tersebut, hasilnya tidak ditentukan.