【问题标题】:Primeng calendar: Set date from databasePrimeng 日历:从数据库中设置日期
【发布时间】:2018-04-26 08:52:18
【问题描述】:

我正在使用primeng 日历,但我无法从数据库中设置日期。 这是我来自服务器的日期:2018-04-17T16:41:47.683

当我尝试立即将格式更改为“YYYY.MM.DD HH.MM”时,我在控制台上收到此错误:Uncaught (in promise): Unexpected literal at position 2 当我将日期时间转换为字符串时,我得到同样的错误,我不知道该怎么做。请帮忙

这是我的代码:

Component.html

<p-calendar id="StartDate" inputStyleClass="form-control" [showIcon]="true" showTime="true" hourFormat="24" [locale]="tr"
              name="StartDate" [(ngModel)]="datex"></p-calendar>


            <!--  <p-calendar id="StartDate" inputStyleClass="form-control" [showIcon]="true" showTime="true" hourFormat="24" [locale]="tr"
              name="StartDate" [(ngModel)]="contentTranslate.StartDate"></p-calendar> -->

ps:我用 ngmodel 尝试了两种方式。

Component.ts

 ngOnInit() {
this.getLanguageDetail(this.contentId, this.langId); }

getLanguageDetail(contentId: number, langId: number): any {
    this.contentService
      .getTranslateDetail(contentId, langId)
      .subscribe(x => this.detailResultFunc(x));
  }


detailResultFunc(x: any): any {
    if (x) {
      this.contentTranslate = x;
      const tmpDate: string = moment(this.contentTranslate.StartDate).format('YYYY.MM.DD HH:MM');
      this.datex = tmpDate; new Date(tmpDate).toLocaleDateString(); //.toLocaleDateString().trim();
    } else {
      this.contentTranslate = new ContentTranslate();
    }
  }

内容翻译:

export class ContentTranslate {
     public StartDate: Date;
    public FinishDate: Date;
    public CreateDate: Date;
}

【问题讨论】:

    标签: typescript datetime angular5 primeng primeng-calendar


    【解决方案1】:

    您需要为您的 ngModel 变量分配一个日期而不是字符串值:

    this.datex = new Date(this.contentTranslate.StartDate);
    

    我遇到了同样的问题并得到了与您完全相同的错误,并通过将字符串转换为 JavaScript 日期来解决它。

    【讨论】:

    • 当我将从日历收到的值转换为 Date 对象时,我迟到了一天。如何解决这个问题?
    猜你喜欢
    • 2013-06-03
    • 1970-01-01
    • 2017-09-05
    • 2019-08-22
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多