47

Sqliteで現在のタイムスタンプを取得するにはどうすればよいですか?current_time、current_date、current_timestampはどちらも、longではなくフォーマットされた日付を返します。

sqlite> insert into events (timestamp) values (current_timestamp);
sqlite> insert into events (timestamp) values (current_date);
sqlite> insert into events (timestamp) values (current_time);
sqlite> select * from events;
1|2010-09-11 23:18:38
2|2010-09-11
3|23:18:51

私が欲しいもの:

4|23234232
4

3 に答える 3

116

ドキュメントにはこの方法が記載されています:

SELECT strftime('%s', 'now');
1284248196

そして、これは小数部分を含みます:

SELECT (julianday('now') - 2440587.5) * 86400.0;
1284248196.65098

どちらも、1970年1月1日から経過した秒数であるUnix時間を表します。

于 2010-09-11T23:35:43.383 に答える
0
select strftime('%W'),date('now'),date(),datetime(),strftime('%s', 'now');

結果

strftime('%W')  -   date('now')  -  date()   -  datetime()   -     strftime('%s', 'now')
    08       -      2021-02-23   -  2021-02-23 - 2021-02-23  15:35:12-  1614094512
于 2021-02-23T15:37:40.533 に答える
0

何らかの理由で(それは間違いなく私のせいです)、ダニエルのjulianday()コンポーネントは私のためにそれを完全には行いませんが、次のジャンカリーに頼ると、tmstmpと呼ばれるタイムスタンプフィールドから選択するときにトリックを行うようです

select
 strftime('%s', a.tmstmp) + strftime('%f', a.tmstmp)
   as unix_time
from any_table a
于 2021-03-30T22:26:38.067 に答える