角度材料DatePicker:日期变为所选日期之前的一天
发布时间:2020-12-17 07:16:02 所属栏目:安全 来源:网络整理
导读:我正在使用最新的Angular 4和Angular-Material2-2.0.0-beta7.这是我使用MdDatePicker的模板: md-input-container fxFlex="33" class="birthday-container" input mdInput name="birthday" placeholder="Birthday" required [(ngModel)]="member.birthday" [
我正在使用最新的Angular 4和Angular-Material2-2.0.0-beta7.这是我使用MdDatePicker的模板:
<md-input-container fxFlex="33" class="birthday-container"> <input mdInput name="birthday" placeholder="Birthday" required [(ngModel)]="member.birthday" [mdDatepicker]="birthdayPicker"> <button mdSuffix [mdDatepickerToggle]="birthdayPicker"></button> </md-input-container> <md-datepicker #birthdayPicker></md-datepicker> 在app.module中,这是提供者: {provide: DateAdapter,useClass: NativeDateAdapter} 而member.birthday是日期类型. 从日期选择器中选择2017-4-1,字符串化结果为2017-03-31T13:00:00.000Z. This post引发了同样的问题,但我不确定如何将moment.js应用于代码. 解决方法
当我们在日期选择器中选择日期时,选择将以GMT(根据格林威治时区)时间进行存储和操作,但会以格式化表示形式显示给用户,同时考虑用户的当前时区.因此存储和显示的日期不同(时区0内的用户除外,如格林威治).
在对JS Date对象进行字符串化时,我们会得到明确的格林威治时区时间,我们可以在https://time.is/GMT看到它.您可能期望看到的是使用当前时区格式化的时间表示.看看我的例子中的差异. // get current time let date = new Date(); console.log('NATIVE JS DATE TIME',date.toString()); console.log('STRINGIFIED TIME',JSON.stringify(date)); console.log('FORMATTED TIME',`${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`); 你可以使用非常方便的时刻 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |