如何在 SQLite 中以 UTC 格式自动生成毫秒精度的插入时间戳

问题描述 投票:0回答:1

我有下表

CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, insertTimestamp <- )

对于以下列

insertTimestamp
我想生成这种格式的时间戳:
YYYY-MM-DD HH:MM:SS.SSS
并且它应该在UTC时区。

我该怎么做?最有效的方法是什么?

最重要的 - 如果我的服务器时间不正确,它会弄乱我的数据库时间吗?

sqlite timestamp timestamp-with-timezone
1个回答
2
投票

您应该使用具有 strftime()

 格式的函数 
'%Y-%m-%d %H:%M:%f'
 函数和 
'now'
修饰符,它将以 UTC 毫秒数返回当前日期时间:

CREATE TABLE IF NOT EXISTS user (
  id INTEGER PRIMARY KEY, 
  insertTimestamp TEXT NOT NULL DEFAULT(strftime('%Y-%m-%d %H:%M:%f', 'now')) 
);

查看演示

SQLite 是无服务器的,因此它将从您的系统而不是任何服务器返回当前日期时间。

© www.soinside.com 2019 - 2024. All rights reserved.