Angular UTC时区中的Material Datepicker小部件

Angular UTC时区中的Material Datepicker小部件,angular,angular-material,angular6,Angular,Angular Material,Angular6,我需要在UTC时区中显示material datepicker小部件,因为我们的日期都将以UTC显示。由于Moment.js尚未被批准使用,我必须找到一个解决方法。我试过这种方法。但它不允许我在选中时更改突出显示的日期 这会在单击突出显示的日期时产生问题,因为当所选日期是同一天时,日期选择器不会更新模型。我通过添加一个“隐藏”日期字段解决了这一问题,该字段与我手动设置为“UTC”时区的日历小部件相关联。此日期仍在浏览器时区中,但时间已调整为与UTC时区匹配,以便在小部件中正确显示 this.h

我需要在UTC时区中显示material datepicker小部件,因为我们的日期都将以UTC显示。由于Moment.js尚未被批准使用,我必须找到一个解决方法。我试过这种方法。但它不允许我在选中时更改突出显示的日期


这会在单击突出显示的日期时产生问题,因为当所选日期是同一天时,日期选择器不会更新模型。

我通过添加一个“隐藏”日期字段解决了这一问题,该字段与我手动设置为“UTC”时区的日历小部件相关联。此日期仍在浏览器时区中,但时间已调整为与UTC时区匹配,以便在小部件中正确显示

this.hiddenDate=新日期(this.Date.getTime()+this.Date.getTimezoneOffset()*60000)


更好的解决方案是,如果您有权访问momentJS模块,则导入该模块。

它可能会帮助您@RafaqatAli感谢您的文章,但从技术上讲,这不是问题所在。我需要datepicker小部件也使用UTC时间,而不是区域设置时间。这里的另一篇文章有两个可能的答案,一个是扩展material函数,另一个是使用moment.js:@NathanielFlick我尝试过这种方法,但我遇到了问题,没有更新小部件上可以单击的选定日期。它会在窗口小部件的顶部显示正确的日期,但下面突出显示的日期被取消了一天。刚刚意识到这个屏幕截图是使用该方法的。正如您所看到的,突出显示的一天已经结束。