1. Date và Time được hỗ trợ trong SQLite

SQLite hỗ trợ năm hàm ngày và giờ như sau:

Hàm Ví dụ
date(timestring, modifiers…) Trả về ngày ở định dạng: YYYY-MM-DD
time(timestring, modifiers…) Trả về thời gian là HH: MM: SS
datetime(timestring, modifiers…) Trả về YYYY-MM-DD HH: MM: SS
julianday(timestring, modifiers…) Trả về số ngày kể từ buổi trưa ở Greenwich vào November 24, 4714 B.C.
strftime(timestring, modifiers…) Trả về ngày được định dạng theo chuỗi định dạng ở đối số đầu tiên

Tất cả năm hàm ngày và thời gian trên đều lấy một time string làm đối số. time string được theo sau bởi không hoặc nhiều modifiers. Hàm strftime () cũng lấy một chuỗi định dạng làm đối số đầu tiên của nó. Phần sau đây sẽ cung cấp cho bạn chi tiết về các loại time string và modifier khác nhau.

2. Các loại Time String trong SQLite

Một time string có thể ở bất kỳ định dạng nào sau đây

Time String EX
YYYY-MM-DD 2019-12-30
YYYY-MM-DD HH:MM 2019-12-30 12:10
YYYY-MM-DD HH:MM:SS.SSS 2019-12-30 12:10:04.100
MM-DD-YYYY HH:MM 30-12-2019 12:10
HH:MM 12:10
YYYY-MM-DDTHH:MM 2019-12-30 12:10
HH:MM:SS 12:10:01
YYYYMMDD HHMMSS 20191230 121001
now 2019-04-09

Bạn có thể sử dụng chữ “T” làm ký tự ngăn cách ngày và giờ.

3. Các loại Modifier trong SQLite

Time string có thể được theo sau bởi 0 hoặc nhiều modifier sẽ thay đổi ngày/thời gian được trả về bởi bất kỳ 1 trong 5 hàm nói trên. Modifier được áp dụng từ trái sang phải.

Các modifer sau đây có sẵn trong SQLite.

  • NNN days
  • NNN hours
  • NNN minutes
  • NNN.NNNN seconds
  • NNN months
  • NNN years
  • start of month
  • start of year
  • start of day
  • weekday N
  • unixepoch
  • localtime
  • utc

4. Formatter trong SQLite

SQLite cung cấp một hàm strftime () rất tiện dụng để định dạng bất kỳ ngày và giờ nào. Bạn có thể sử dụng các thay thế (Substitution) sau để định dạng ngày và giờ của bạn.

Substitution Description
%d Ngày trong tháng, 01-31
%f Giây phân số, SS.SSS
%H Giờ, 00-23
%j Ngày trong năm, 001-366
%J Số ngày Julian, DDDD.DDDD
%m Tháng, 00-12
%M Phút, 00-59
%s Giây kể từ 1970-01-01
%S Giây, 00-59
%w Ngày trong tuần, 0-6 (0 là Chủ nhật)
%W Tuần trong năm, 01-53
%Y Năm, YYYY
%% ký hiệu %

5. Ví dụ date và time trong SQLite

Bây giờ chúng ta hãy thử các ví dụ khác nhau bằng cách sử dụng dấu nhắc SQLite. Lệnh sau sẽ tính ngày hiện tại.

1
2
sqlite> SELECT date('now');
2019-04-07

Lệnh sau sẽ tính ngày cuối cùng của tháng hiện tại.

1
2
sqlite> SELECT date('now','start of month','+1 month','-1 day');
2019-04-30

Lệnh sau sẽ tính ngày và giờ cho dấu thời gian UNIX đã cho 1092941466.

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

Lệnh sau sẽ tính ngày và giờ cho dấu thời gian UNIX nhất định 1092941466 và bù cho múi giờ địa phương của bạn.

1
2
sqlite> SELECT datetime(1092941466, 'unixepoch', 'localtime');
2004-08-19 13:51:06

Lệnh sau tính toán dấu thời gian UNIX hiện tại.

1
2
sqlite> SELECT strftime('%s','now');
1393348134

Lệnh sau tính toán số ngày kể từ khi ký Tuyên ngôn Độc lập Hoa Kỳ.

1
2
sqlite> SELECT julianday('now') - julianday('1776-07-04');
86798.7094695023

Lệnh sau sẽ tính số giây kể từ một thời điểm cụ thể trong năm 2004.

1
2
sqlite> SELECT strftime('%s','now') - strftime('%s','2004-01-01 02:34:56');
295001572

Lệnh sau sẽ tính ngày thứ ba đầu tiên của tháng 10 cho năm hiện tại.

1
2
sqlite> SELECT date('now','start of year','+9 months','weekday 2');
2019-10-01

Lệnh sau sẽ tính thời gian kể từ thời kỳ UNIX tính bằng giây (như strftime (‘% s’, ‘now’) ngoại trừ bao gồm phần phân đoạn).

1
2
sqlite> SELECT (julianday('now') - 2440587.5)*86400.0;
1367926077.12598

Để chuyển đổi giữa UTC và giá trị thời gian cục bộ khi định dạng ngày, hãy sử dụng modifier utc hoặc giờ địa phương như sau:

1
2
sqlite> SELECT time('12:00', 'localtime');
05:00:00
1
2
sqlite> SELECT time('12:00', 'utc');
19:00:00

——————-#####——————-

Loạt bài SQLite được biên dịch từ TutorialsPoint.

Nguồn:https://freetuts.net

 

ĐĂNG KÝ THÀNH VIÊN

NẾU NỘI DUNG HỮU ÍCH HÃY XEM QUẢNG CÁO ĐỂ ỦNG HỘ

NẾU NỘI DUNG HỮU ÍCH HÃY XEM QUẢNG CÁO ĐỂ ỦNG HỘ

Được quan tâm nhiều nhất

  • Apple Watch Series 4 Teardown

  • Phim Ngắn Đột Kích - Phiên bản 10 năm trước

  • iPhone 11 Pro Max Teardown - Tiny Motherboard & BIG Battery!

  • Apple Watch Series 5 Teardown - Always on Display Explained

Bạn thấy bài viết này thế nào?
Thể hiện yêu thương tác giả ở đây nhé!

Thích bài viết

thích

Chia sẻ ngay!

phuongle

Thành viên từ: 10/12/2019

Điểm uy tín: 5,987

SMod: 1,289 hướng dẫn đã chia sẻ

Team

Lập Trình Thành viên của Lập Trình

1 Thành viên

1,289 bài viết

Thêm bình luận

Bình luận bằng tài khoản Facebook

After viewing your support content - Please click advertisement for Support & Donate us team! Đóng