【问题标题】:how to fix the date error using Date.now()如何使用 Date.now() 修复日期错误
【发布时间】:2019-05-26 19:23:01
【问题描述】:

我正在使用 Date.now() 获取当前日期和时间,但我不知道我遇到的问题。这种情况是我使用控制台检查 date.now() 是否生成正确的时间?不幸的是,我在 Unix 代码值转换中得到了正确的日期,并检查了正确的时间和日期,但是当我把它放在 mongoo 模式中时,它使用了几个小时并存储了几个小时的日期。但是当我得到带有日期的对象时,它会返回几个小时后的日期和时间,但是当我将它与 Angular 前端绑定时,它会向我显示正确的时间我放在 mongoo 上的时间问题是我无法按日期过滤数据bcs 该对象包含几个小时的时间。

这是我在 mongoo 上推送的 typescript 对象

bill = {
    orderArray: [],
    //investment total
    totalActual:0,
    //sale total
    totalSale: 0,
    //investment - sale 
    totalSave: 0,
    quantity: 0,
    date: Date.now()
} 

这里是 mongo 架构:

var cartSchema = mongoose.Schema({
    orderArray: Array,
    date: { type: Date,  default: Date.now },
    totalActual: Number,
    totalSale: Number,
    totalSave: Number,
})

【问题讨论】:

  • 您的 mongo 架构具有不同的时区。请确保 angular 和 mongo db 都具有相同的时区。此外,最好将日期值存储为 UTC,并在客户端读取日期时,将其转换为用户特定的时区。
  • 我从两周开始就在处理这个问题,从过去两周开始我工作得很好,但昨晚突然遇到这个问题,在此之前它对日期非常好
  • 是的,通常发生在系统时区发生变化以及源代码中未明确提及时区时。
  • 感谢您的帮助。您能否将任何文档的指南链接或您能做的任何事情发给我。实际上我是初学者,我知道很多。顺便谢谢你。
  • 为什么我在客户端打印时得到了确切的日期和确切时间,但是当我在客户端绑定时,控制台响应错误的日期如何到达正确的日期时间。但我得到了错误的日期

标签: node.js angular mongodb typescript


【解决方案1】:
  1. 请检查您的数据库服务器和应用程序是否在同一时区运行
  2. 或者从应用程序端将你的本地时间转换为UTC格式并传递给MongoDB

【讨论】:

  • 我的数据库服务和应用程序在同一系统上运行
  • 我已经尝试了所有可能的方法,但我仍然得到了 5 小时的时间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多