Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Material Angular 6 DatePicker在前一天解析我的日期大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当前版本的Material Angular DatePicker发生了一些非常奇怪的事情,在我将它从A5更新到A6之后,它开始在1天之前解析我的日期,示例在这里https://stackblitz.com/edit/angular6-datepicker-parsing-wrong-date

我正在使用原始文档示例,对我自己的语言稍有改变语言,并将自定义日期值应用于ngModel,以便它可以解析.

但你可以在这里查看代码

import {Component} from '@angular/core';
import {MAT_MOMENT_DATE_FORMATS,MomentDateAdapter} from '@angular/material-moment-adapter';
import {DateAdapter,MAT_DATE_FORMATS,MAT_DATE_LOCALE} from '@angular/material/core';

@Component({
  SELEctor: 'datepicker-locale-example',templateUrl: 'datepicker-locale-example.html',styleUrls: ['datepicker-locale-example.css'],providers: [
    {provide: MAT_DATE_LOCALE,useValue: 'pt'},//my change from the original documentation example
    {provide: DateAdapter,useClass: MomentDateAdapter,deps: [MAT_DATE_LOCALE]},{provide: MAT_DATE_FORMATS,useValue: MAT_MOMENT_DATE_FORMATS},],})
export class DatepickerLocaleExample {
  constructor(private adapter: DateAdapter<any>) {}

  private someDate = '2018-01-31'; //my change from the original documentation example

  french() {
    this.adapter.setLocale('fr');
  }
}

HTML:

<mat-form-field>
  <input maTinput [matDatepicker]="myDatePicker" placeholder="Different locale" [(ngModel)]="someDate"> <!-- my change from the original documentation example -->
  <mat-datepicker-toggle matSuffix [for]="myDatePicker"></mat-datepicker-toggle>
  <mat-datepicker #myDatePicker></mat-datepicker>
  <mat-hint>Actual Date: {{someDatE}}</mat-hint>
</mat-form-field>

<button mat-button (click)="french()">Dynamically switch to French</button>

有谁知道如何解决这个问题?

解决方法

因此,经过一些研究后我发现这是一个时区问题.要临时修复它,我不得不将T00:00:00连接到我的日期结束,该日期来自后端,格式为yyyy / MM / dd.

如果可能,最好的选择是将后端格式更改为yyyy / MM / ddTHH:mm:ss.

否则,当您必须在Angular 6 Material DatePicker中使用格式yyyy / MM / dd时,有两个选项可以解决问题:te bad and good.

>坏(可能只是暂时的)就是做我做的事情,将T00:00:00连接到DatePicker解析它之前的日期结束.
>好处是实际获取日期字符串,将其转换为日期,将时区转换为GMT,然后允许DatePicker解析它.

我希望我能像我一样帮助绝望的人.

大佬总结

以上是大佬教程为你收集整理的Material Angular 6 DatePicker在前一天解析我的日期全部内容,希望文章能够帮你解决Material Angular 6 DatePicker在前一天解析我的日期所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。