Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 从Angular 6表单将日期保存到Mongoose会提前一天返回数据_Node.js_Angular_Mongoose - Fatal编程技术网

Node.js 从Angular 6表单将日期保存到Mongoose会提前一天返回数据

Node.js 从Angular 6表单将日期保存到Mongoose会提前一天返回数据,node.js,angular,mongoose,Node.js,Angular,Mongoose,我使用Angular 6保存一些表单数据,特别是一个日期。表单提交的日期为(日期:“2018-07-02T00:00:00.000Z”),这就是get保存到mongoose中的日期。然后,当我检索页面上显示的所有事件时,插入的日期显示为前一天。。。例如2018年1月7日 这是我的电话 ngOnInit() { this._eventService .getEvents() .subscribe( (response) => (this.events = response),

我使用Angular 6保存一些表单数据,特别是一个日期。表单提交的日期为(日期:“2018-07-02T00:00:00.000Z”),这就是get保存到mongoose中的日期。然后,当我检索页面上显示的所有事件时,插入的日期显示为前一天。。。例如2018年1月7日

这是我的电话

ngOnInit() {
this._eventService
  .getEvents()
  .subscribe(
    (response) => (this.events = response),
    (error) => console.log(error)
  );
}

还有我在页面上的插值调用

{{event.date}date:'longDate'}


看起来数据是以正确的日期从表单中保存的,然后在mLab中,我能够验证正确的日期,并且只有在显示日期时,它才比显示日期早一天

显示日期时,它使用客户端的时区信息。您正在将日期作为UTC保存到数据库中,但当您想显示它时,它会将日期转换为当前客户端的时区。 打开浏览器控制台并键入

 new Date("2018-07-02T00:00:00.000Z") 

如果您的时区不是UTC,您将看到不同的时间,只需查看返回的未格式化日期,它是正确的日期。为什么日期管道操作员要把日期往后拖一天。谢谢。我现在正在看一篇关于这方面的文章。(). 奇怪的是,我用电脑保存信息,用电脑检索信息。它们不应该是一样的吗?而且。。。这将是网站的一个问题。我应该做些什么来纠正这个问题?我有点迷路了。非常感谢,您应该以某种方式将时区信息发送到服务器。您可以向服务器发送时间戳,而不是日期字符串
新日期(“2018-07-02T00:00:00.000Z”)。getTime()