如何将我的HTML5 datetime本地输入字段设置为当前本地日期时间?
我在这里浏览了一些老问题,但大多数都是关于Angular 2 beta/RC版本的,它没有随date pipe一起发布 从2015年12月开始,我就与您取得了密切的联系,其中提出了以下解决方案:如何将我的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
<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(),它报告了错误。但现在它就像一个符咒!再次非常感谢。