Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将我的HTML5 datetime本地输入字段设置为当前本地日期时间?_Html_Angular_Datetime - Fatal编程技术网

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

如何将我的HTML5 datetime本地输入字段设置为当前本地日期时间?,html,angular,datetime,Html,Angular,Datetime,我在这里浏览了一些老问题,但大多数都是关于Angular 2 beta/RC版本的,它没有随date pipe一起发布 从2015年12月开始,我就与您取得了密切的联系,其中提出了以下解决方案: <input type="datetime-local" [ngModel]="datetime" (ngModelChange)="datetime = $event" name="datetime"> constructor() { this.datetime = new Da

我在这里浏览了一些老问题,但大多数都是关于Angular 2 beta/RC版本的,它没有随date pipe一起发布

从2015年12月开始,我就与您取得了密切的联系,其中提出了以下解决方案:

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

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

构造函数(){
this.datetime=new Date().toISOString().slice(0,16);
}
这几乎工作正常,因为它将当前日期时间输出为:
02-06-2017 05:02 AM
,其中日期正确,但时间不正确。此处的本地日期时间为2017年6月2日上午10:48

我还没有在Angular中的任何地方配置默认时区。我需要这样做,还是有更好的解决方案?此外,可以实现内置的日期管道,但我不确定如何实现。

这里是一个演示

要显示当前本地日期时间,只需创建一个类似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();

如果您有任何问题,请随时发表评论并让我知道

对不起,我忘了复查。这只正确地输出时间,而不是日期。6月4日是5月5日。所以这个月比应该的少1天多1天。如果我将1作为
datetime.getMonth()+1
添加到getMonth中,并将
+1
作为
datetime.getDate()
从getDate中删除,则输入字段不接受它。控制台报告错误:
指定的值“2017-51-04T15:30”不符合要求的格式。格式为“yyyy-MM-ddThh:MM”,后跟可选的“:ss”或“:ss.SSS”。
。有什么想法吗,朋友?抱歉@Anoname在getDate()中添加了1,而不是getMonth()。现在已经修好了。请尝试让我知道您是否仍然存在问题,如我在评论中提到的,我确实尝试将1添加到getMonth()而不是getDate(),它报告了错误。但现在它就像一个符咒!再次非常感谢。