我有一个包含datetime列的表:
$db = new SQLite3('test.db');
$results = $db->query('CREATE TABLE test (id INTEGER PRIMARY KEY AUTOINCREMENT,
date DATE, foo TEXT);');
我添加了一行(在UTC中存储添加该行的日期时间)
$results = $db->query('INSERT INTO test (date, foo) VALUES(CURRENT_TIMESTAMP, "bar");');
这行得通。现在,当显示行时:
$results = $db->query('SELECT * FROM test ORDER BY date desc');
while ($row = $results->fetchArray()) {
echo $row['date'];
}
日期以UTC:这样显示2019-04-27 16:41:33
。
如何在当地时区显示它呢?(包括夏令时)
我可以想象有不同的选择:
使用本地时区直接存储在SQLite中(但我认为这不是一个好习惯)
存储在UTC的SQLite中,并在期间进行UTC->本地时区转换SELECT
。如何?
存储在UTC的SQLite中,并通过PHP进行UTC->本地时区转换。
如何正确地做到这一点?
慕莱坞森
撒科打诨
慕雪6442864