mysql这个npm包为什么默认返回的是utc时间,如何设置可以返回北京时间
时间: 2023-02-08 16:19:26 浏览: 87
MySQL 这个 npm 包默认返回 UTC 时间是因为 MySQL 数据库本身存储的都是 UTC 时间。
如果你想要返回北京时间,你可以在查询的时候使用 MySQL 的时区转换函数 `CONVERT_TZ()` 来转换时间。
例如,如果你想要查询当前时间的北京时间,你可以使用如下的 SQL 语句:
```
SELECT CONVERT_TZ(NOW(), 'UTC', 'Asia/Shanghai');
```
你也可以在连接数据库时使用 `timezone` 参数来设置 MySQL 的默认时区。例如:
```
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'test',
timezone: 'Asia/Shanghai'
});
```
这样在连接上下文中执行的所有 SQL 语句都会使用北京时间。
阅读全文