我有下表
CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, insertTimestamp <- )
对于以下列
insertTimestamp
我想生成这种格式的时间戳:YYYY-MM-DD HH:MM:SS.SSS
并且它应该在UTC时区。
我该怎么做?最有效的方法是什么?
最重要的 - 如果我的服务器时间不正确,它会弄乱我的数据库时间吗?
您应该使用具有 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 是无服务器的,因此它将从您的系统而不是任何服务器返回当前日期时间。