javascript - 为什么日期选择器 Angular 中的日期显示最后一天?

标签 javascript angular datepicker

我使用 datepicker c angular material。这是代码:

<td [formGroup]="item">
 <div class="input-group">
  <div class="input-group-addon">
   <mat-datepicker-toggle mdSuffix [for]="picker"></mat-datepicker-toggle>
   <mat-datepicker #picker></mat-datepicker>
  </div>
  <input class="form-control" [matDatepicker]="picker" placeholder="Date" formControlName="date">
 </div>
</td>

Datapicker是发送时发送到服务器的形式。

但问题是这些值是在最后一天传输的。

比如我选择了1/18/2018,但是发送给服务器的是2018-01-17T22:00:00.000Z

日期的 Angular 管道正确转换日期很奇怪,但在显示它之前,我在服务器上请求按月分组,新月的第一天是前一个月的最后一天.

我将日期存储在类型为 Date 的 mongoose 模式中。

也许有人对此有疑问。

谢谢。

最佳答案

我通过将 datepicker 日期值转换为 UTC 来解决这个问题。这是示例:

const d = new Date(<DATE FROM FORM FIELD>);
const date = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate());

也许这不是修复它的优雅方法但帮助我

关于javascript - 为什么日期选择器 Angular 中的日期显示最后一天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48224785/

相关文章:

c# - 将大型阵列传输到客户端

javascript - 我想在点击后更改背景颜色?

javascript - 使 div 仅使用 CSS 填充另一个 div 留下的页面的所有高度

javascript - 检测窗口大小调整以运行不同的属性

angular - SOAP - WSDL 请求 angular2/4 框架

javascript - 使用 Mat datepicker 以多种颜色突出显示日期

java - Bootstrap(实际上是 JQuery)DatePicker 不会隐藏在 Wicket 模式中的模糊中

angular - 在 GitHub 页面上部署了我的 Angular 应用程序,但在控制台中的网站上出现错误

angular - 警告 : sanitizing unsafe style value background-color

javascript - 为什么 jQuery UI 的日期选择器中的这两个日期不能在 jQuery 中正确比较?