2010-08-09 44 views
21

Tôi đang cố gắng làm việc với các ngày trong cơ sở dữ liệu sqlite. Tôi lưu trữ ngày tháng của tôi như là dấu thời gian, nhưng khi tôi sử dụng strftime() để định dạng chúng thành những ngày có thể đọc được của con người, tôi nhận được kết quả không được xem xét.định dạng dấu thời gian sqlite

Hãy xem xét những điều sau đây, tôi chọn dấu thời gian hiện tại:

SELECT strftime("%s","now"); 
1281353727 

Sau đó, tôi cố gắng để định dạng một ngày bằng cách sử dụng dấu thời gian mà tôi biết để đại diện cho hiện nay mong đợi để lấy lại một định dạng có thể đọc được con người của ngày todays:

SELECT strftime('%d - %m - %Y ', 1281353727); 
01 - 04 - 3503 

Thay vào đó, tôi nhận được kết quả ở trên. Hành vi này có đúng không? Tôi có làm điều gì sai?

Cảm ơn trước,

Kevin

Trả lời

43

Bạn cần phải chuyển đổi dấu thời gian để datetime đầu tiên:

SELECT strftime('%d - %m - %Y ', datetime(1281353727, 'unixepoch')) FROM Visits; 
+0

Có cách nào để in nó trong tháng? ví dụ: – Andrew

+0

Xin chào reko, Nếu tôi lưu trữ ngày này từ Java dateObj.getTime() thì nó sẽ hoạt động với tùy chọn unixepoch trong hàm datetime? –

+3

Trong trường hợp của tôi, tôi cần phải chia 1000. –

4

này đã làm việc cho tôi:

datetime(visit_date/1000000,'unixepoch') 
Các vấn đề liên quan