我使用 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/