SQLite có time()
hàm cho phép bạn trả về giá trị thời gian dựa trên chuỗi thời gian và bất kỳ công cụ sửa đổi nào.
Nó trả về thời gian ở định dạng sau:HH:MM:SS
Để sử dụng hàm này, bạn cần cung cấp một chuỗi thời gian, cộng với bất kỳ công cụ sửa đổi (tùy chọn) nào. Công cụ sửa đổi cho phép bạn thay đổi thời gian, chẳng hạn như thêm một số giờ, đặt nó thành giờ địa phương, v.v.
Cú pháp
Cú pháp của time()
hàm như sau:
time(timestring, modifier, modifier, ...)
timestring
đối số phải là một chuỗi thời gian hợp lệ.
Công cụ sửa đổi modifier
đối số là tùy chọn. Bạn có thể cung cấp một hoặc nhiều bổ ngữ. Nếu bạn cung cấp một công cụ sửa đổi, nó phải là một công cụ sửa đổi hợp lệ.
Ví dụ
Đây là một ví dụ cơ bản để chứng minh time()
hàm đang được sử dụng với một đối số.
SELECT time('now');
Kết quả:
03:47:36
now
chuỗi thời gian được chuyển đổi thành ngày và giờ hiện tại. Vì tôi đang sử dụng time()
, chỉ phần thời gian được trả về.
Thêm công cụ sửa đổi
Chúng tôi có thể sửa đổi kết quả trước đó bằng cách sử dụng một công cụ sửa đổi. Đây là một ví dụ.
SELECT time('now', '+5 hours');
Kết quả:
08:48:24
Trong trường hợp này, tôi đã thêm năm giờ vào thời gian.
Nhiều công cụ sửa đổi
Như đã đề cập, bạn có thể thêm một hoặc nhiều bổ ngữ. Dưới đây là ví dụ về việc thêm một công cụ sửa đổi khác vào ví dụ trước.
SELECT time('now', '+5 hours', 'localtime');
Kết quả:
18:50:08
localtime
công cụ sửa đổi giả định chuỗi thời gian được cung cấp là Giờ Phối hợp Toàn cầu (UTC). Sau đó, nó điều chỉnh chuỗi thời gian để nó hiển thị giờ địa phương.
Do đó, bạn có thể nhận được một kết quả khác, tùy thuộc vào giờ địa phương của bạn.
Chuỗi văn bản là chuỗi thời gian
Các ví dụ trên sử dụng now
dưới dạng chuỗi thời gian, nhưng bạn có thể cung cấp bất kỳ chuỗi thời gian hợp lệ nào.
Dưới đây là một số ví dụ khác.
SELECT time('1999-12-18 17:10:23');
Kết quả:
17:10:23
Trong trường hợp này, nó chỉ đơn giản là xóa phần ngày tháng.
time () so với strftime ()
time()
hàm trả về chính xác cùng một kết quả mà strftime('%H:%M:%S', ...)
lợi nhuận. time()
chỉ là một cách thuận tiện hơn để thực hiện.
SELECT
time('now'),
strftime('%H:%M:%S', 'now');
Kết quả:
time('now') strftime('%H:%M:%S', 'now') ----------- --------------------------- 03:56:09 03:56:09
Phạm vi ngày
Như với tất cả các hàm ngày và giờ của SQLite, time()
chỉ hoạt động cho các ngày từ 0000-01-01 00:00:00 đến 9999-12-31 23:59:59 (số ngày julian từ 1721059,5 đến 5373484,5).
Đối với những ngày nằm ngoài phạm vi đó, kết quả không được xác định.