如何将我的HTML5 datetime-local输入字段设置为Angular中的当前本地日期时间?

时间:2017-06-02 05:13:23

标签: html5 angular datetime

我在这里浏览了几个老问题,但大多数都是关于Angular 2 beta / RC版本的,它没有附带日期管道。

我从2015年12月开始接近THIS answer,提出了以下解决方案:

<input type="datetime-local" [ngModel]="datetime" (ngModelChange)="datetime = $event" name="datetime">

constructor() {
    this.datetime = new Date().toISOString().slice(0, 16);
}

这几乎正常,因为它将当前日期时间输出为:02-06-2017 05:02 AM,其中日期正确但不是时间。这里的本地日期时间是02-06-2017 10:48 AM

我还没有在Angular的任何地方配置默认时区。我需要这样做还是有更好的解决方案来解决这个问题?此外,也许可以实现内置date pipe,但我不确定如何。

1 个答案:

答案 0 :(得分:1)

这是plnkr演示

要显示当前的本地日期时间,您只需创建一个类似ISO的字符串,如下所示:

this.datetime = this.datetime.getFullYear() + '-' + 
("0" + (this.datetime.getMonth() + 1)).slice(-2) 
+ '-' + ("0" + this.datetime.getDate()).slice(-2) 
+ 'T' + this.datetime.getHours() + ':' + this.datetime.getMinutes();

如果您有任何问题,请随时发表评论并告诉我们。