保存和检索日期时间到 mysql 日期时间,它使用 TypeOrm,NestJs | 存储前一天的日期节点

Posted

技术标签:

【中文标题】保存和检索日期时间到 mysql 日期时间,它使用 TypeOrm,NestJs | 存储前一天的日期节点【英文标题】:saving and retrieving datetime to mysql date time, it stores previous day's date using TypeOrm, NestJs | Nodejs 【发布时间】:2021-08-19 10:27:42 【问题描述】:

我正在尝试将pickup_time 存储在datetime 类型的mariadb 列中。 我的堆栈: NestJS(nodejs),mariadb 它保存前一天的日期,这里有一个例子:

插入:

  "pickup_time": "2021-06-07 01:00:00.000",

得到这个:

 "2021-06-06T20:00:00.000Z"

当我只添加这样的日期时:“2021-06-07”, 它工作正常并插入日期..“2021-06-07T00:00:00.000Z” 但我也希望能够存储时间

我确定这已经解决了,我找不到解决方案。非常感谢任何帮助

我有日期时间列,当我保存数据时,它被正确保存:2021-03-18 00:00:00 当我使用 typeorm 检索它时:2021-03-17T19:00:00.000Z

它返回的天数比存储的天数少。我知道这与时区有关,我已尝试将时区添加到 orm 配置中,但它不起作用,我能否将数据取回,因为它存储在数据库中。我该怎么做?

【问题讨论】:

查看phoenixnap.com/kb/change-mysql-time-zone @Grumpy 我有 datetime 列,当我保存数据时,它被正确保存:2021-03-18 00:00:00 当我使用 typeorm 检索它时:2021-03-17T19:00:00.000Z 它返回的日期比存储的日期少一天。我知道这与时区有关,我已尝试将时区添加到 orm 配置中,但它不起作用,我能否将数据取回,因为它存储在数据库中。我该怎么做? 【参考方案1】:

事实证明数据保存得很好,在检索时我们必须将其映射回我们的 localString

pickup_time: new Date(pickup_time).toLocaleString()

【讨论】:

以上是关于保存和检索日期时间到 mysql 日期时间,它使用 TypeOrm,NestJs | 存储前一天的日期节点的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jdatechooser 从 mysql 数据库中保存和检索空日期

检索 MySQL 日期时,它变为日期和时间

如何在 SharedPreferences 中保存和检索日期

从本地存储中保存和检索日期

使用 Diesel 从 mySQL 数据库中检索日期时间

如何将 jQuery 日期选择器值保存到数据库并从数据库中检索