Latest web development tutorials

SQLite Tanggal & Waktu

SQLite mendukung berikut lima tanggal dan waktu fungsi:

Tidak. fungsi contoh
1 tanggal (timestring, modifier, pengubah, ...) Mengembalikan format tanggal untuk YYYY-MM-DD.
2 waktu (timestring, modifier, pengubah, ...) Dalam HH: MM: SS format waktu pulang.
3 datetime (timestring, modifier, pengubah, ...) Dalam YYYY-MM-DD HH: MM: Format SS untuk kembali.
4 julianday (timestring, modifier, pengubah, ...) Ini mengembalikan jumlah hari dari waktu 4714 SM Greenwich pada 24 November pada siang hari penghitungan.
5 strftime (format, timestring, pengubah, pengubah, ...) Ini mengembalikan tanggal diformat sesuai dengan parameter pertama menentukan format string. Lihat di bawah menjelaskan format tertentu.

Tanggal dan waktu lima fungsi waktu string sebagai parameter. Waktu string yang diikuti oleh nol atau lebih pengubah pengubah. strftime () fungsi juga dapat memformat format string sebagai argumen pertama. Di bawah ini Anda akan menemukan penjelasan rinci dari berbagai jenis string waktu dan pengubah.

string waktu

Waktu string dapat menjadi salah satu format berikut:

序号时间字符串实例
1YYYY-MM-DD2010-12-30
2YYYY-MM-DD HH:MM2010-12-30 12:10
3YYYY-MM-DD HH:MM:SS.SSS2010-12-30 12:10:04.100
4MM-DD-YYYY HH:MM30-12-2010 12:10
5HH:MM12:10
6YYYY-MM-DDTHH:MM2010-12-30 12:10
7HH:MM:SS12:10:01
8YYYYMMDD HHMMSS20101230 121001
9now2013-05-07

Anda dapat menggunakan "T" yang memisahkan tanggal dan waktu sebagai karakter teks.

Pengubah (Modifier)

Waktu string dapat diikuti kembali nol atau lebih pengubah yang akan mengubah tanggal lima fungsi kembali dan / atau waktu. Salah satu dari lima fungsi di atas kembali waktu. Dari kiri ke kanan modifikator harus digunakan pengubah tercantum di bawah ini dapat digunakan dalam SQLite yang:

  • hari NNN

  • jam NNN

  • NNN menit

  • detik NNN.NNNN

  • NNN bulan

  • NNN tahun

  • awal bulan

  • awal tahun

  • awal hari

  • hari kerja N

  • unixepoch

  • localtime

  • utc

format

SQLite menyediakan fungsistrftime sangat nyaman ()untuk memformat setiap tanggal dan waktu. Anda dapat menggunakan format berikut untuk mengganti tanggal dan waktu:

替换描述
%d一月中的第几天,01-31
%f带小数部分的秒,SS.SSS
%H小时,00-23
%j一年中的第几天,001-366
%J儒略日数,DDDD.DDDD
%m月,00-12
%M分,00-59
%s从 1970-01-01 算起的秒数
%S秒,00-59
%w一周中的第几天,0-6 (0 is Sunday)
%W一年中的第几周,01-53
%Y年,YYYY
%%% symbol

contoh

Sekarang mari kita gunakan SQLite cepat mencoba kasus yang berbeda. Berikut ini adalah perhitungan tanggal saat ini:

sqlite> tanggal SELECT ( 'sekarang');
2013/05/07

Berikut ini adalah perhitungan hari terakhir bulan ini:

sqlite> tanggal SELECT ( 'sekarang', 'awal bulan', '+ 1 bulan', '- 1 hari');
2013/05/31

Berikut ini adalah perhitungan dari UNIX timestamp diberikan dari tanggal dan waktu 1092941466:

sqlite> datetime SELECT (1092941466, 'unixepoch');
2004/08/19 18:51:06

Berikut ini adalah perhitungan tanggal tertentu dan waktu UNIX timestamp 1092941466 zona waktu yang relatif lokal:

sqlite> datetime SELECT (1092941466, 'unixepoch', 'localtime');
2004/08/19 11:51:06

Berikut ini adalah perhitungan UNIX timestamp saat ini:

sqlite> datetime SELECT (1092941466, 'unixepoch', 'localtime');
1367926057

Berikut ini adalah perhitungan jumlah hari Amerika Serikat "Deklarasi Kemerdekaan" sejak penandatanganan:

sqlite> julianday SELECT ( 'sekarang') - julianday ( '1776/07/04');
86.504,4775830326

Berikut ini dihitung sejak tahun 2004, pada saat tertentu jumlah detik:

sqlite> strftime SELECT ( '% s', 'sekarang') - strftime ( '% s', '2004/01/01 02:34:56');
295 001 572

Berikut ini adalah perhitungan Selasa pertama bulan Oktober tanggal tahun itu:

sqlite> tanggal SELECT ( 'sekarang', 'awal tahun', '+ 9 bulan', 'hari kerja 2');
2013/10/01

Berikut ini dihitung dari zaman UNIX di detik menghitung waktu (mirip dengan strftime ( '% s', 'sekarang'), adalah bahwa ada yang berbeda termasuk bagian pecahan):

sqlite> SELECT (julianday ( 'sekarang') - 2.440.587,5) * 86.400,0;
1,367,926,077.12598

Di antara UTC dan waktu lokal, nilai konversi, ketika format tanggal, penggunaan UTC atau localtime pengubah, sebagai berikut:

sqlite> waktu SELECT ('12: 00 ',' localtime ');
05:00:00
sqlite> waktu SELECT ('12: 00 ',' utc ');
19:00:00