我有下表
CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, insertTimestamp <- )
对于下面的列insertTimestamp,我想以这种格式生成时间戳:YYYY-MM-DD HH:MM:SS.SSS,应该是UTC时区。我该怎么做?最有效的方法是什么?
insertTimestamp
YYYY-MM-DD HH:MM:SS.SSS
最重要的是-如果我的服务器有不正确的时间,它会搞乱我的数据库时间吗?
bejyjqdl1#
你应该使用strftime()函数,'%Y-%m-%d %H:%M:%f'和'now'修饰符,它将返回以UTC为单位的当前日期时间:
strftime()
'%Y-%m-%d %H:%M:%f'
'now'
CREATE TABLE IF NOT EXISTS user ( id INTEGER PRIMARY KEY, insertTimestamp TEXT NOT NULL DEFAULT(strftime('%Y-%m-%d %H:%M:%f', 'now')) );
参见demo。SQLite is serverless,因此它将从您的系统而不是任何服务器返回当前日期时间。
1条答案
按热度按时间bejyjqdl1#
你应该使用
strftime()
函数,'%Y-%m-%d %H:%M:%f'
和'now'
修饰符,它将返回以UTC为单位的当前日期时间:参见demo。
SQLite is serverless,因此它将从您的系统而不是任何服务器返回当前日期时间。