sql - Nodejs 将数据库时间转换为 UTC 格式而不实际转换日期
问题描述
在我的数据库中,我的列具有以下值:
created_at: 2018-11-29 00:24:33.967124
但是当我在 nodeJS 中查询该列以获取其数据时,它返回以下数据:
created_at: 2018-11-29T00:24:33.967124Z
我不知道谁是这里的罪魁祸首,是 nodejs/postgres 还是时区。
在这里解释更多是我的查询:
let query = "Select created_at from my_table limit 1";
let tableData = await runQuery(query);
console.log(tableData);
输出:[{ created_at: 2018-11-28T19:24:20.946Z }]
所以我不希望节点转换/格式化这些数据并重新调整来自数据库的数据。我怎么能做到这一点或我做错了什么。
解决方案
那些是一样的。零时区的时间戳与没有时区的时间戳相同。Node.js 驱动程序将始终为您提供带有时区的时间戳。
const a = Date.parse('2018-11-29T00:24:33.967124Z');
const b = Date.parse('2018-11-29 00:24:33.967124');
console.log(a); //=> 1543451073967
console.log(b); //=> 1543451073967
console.log(a === b); //=> true
推荐阅读
- google-apps-script - 从 Google 表格发送关于数据更改的 POST HTTP 请求
- sql - 在 SQL 聚合函数中用任意数字替换字母
- php - 如何计算表列值并在刀片文件 laravel 5.6 中打印
- python - 我想按以下方式对python中的项目进行排序
- wordpress - 根据用户角色不同的静态首页
- django - Django ORM:在查询集中预过滤相关字段
- excel - 代替 ”。” 在vba中使用“/”宏更改数字顺序
- javascript - 在javascript中调用对象递归函数
- php - 在多个应用程序中共享 Laravel 模型?
- android - 如何从动态响应中实现多级树视图?