web-dev-qa-db-ja.com

SQLiteタイムスタンプのフォーマット

私はsqliteデータベースで日付を操作しようとしています。日付をタイムスタンプとして保存していますが、strftime()を使用して人間が読める日付にフォーマットすると、予期しない結果が返されます。

以下を考慮して、現在のタイムスタンプを選択します。

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

次に、私が表していることがわかっているタイムスタンプを使用して日付をフォーマットし、人間が読める形式の今日の日付が返されることを期待しています。

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

代わりに、上記の結果が得られます。これは正しい動作ですか?私は何か間違ったことをしていますか?

前もって感謝します、

ケビン

28
Kevin Bradshaw

最初にタイムスタンプを日時に変換する必要があります。

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

これは私のために働きました:

datetime(visit_date/1000000,'unixepoch')
5
Sergio Abreu