Javascript AngularJS-为JSON输入日期增加6小时
我不知道如何在AngularJS中为输入日期添加6个小时 我试过这个:Javascript AngularJS-为JSON输入日期增加6小时,javascript,angularjs,json,Javascript,Angularjs,Json,我不知道如何在AngularJS中为输入日期添加6个小时 我试过这个: var eventStart = new Date ($scope.event.startdateid); var startDate = new Date ( eventStart ); startDate.setHours ( eventStart.getHours() + 6 ); event.startdateid = new Date(startDate).toJSON(); 但是什么也没发生 这是我的HTML
var eventStart = new Date ($scope.event.startdateid);
var startDate = new Date ( eventStart );
startDate.setHours ( eventStart.getHours() + 6 );
event.startdateid = new Date(startDate).toJSON();
但是什么也没发生
这是我的HTML:
<input type="date" name="startdateid" ng-model="event.startdateid" min="{{date | date:'yyyy-MM-dd'}}">
你能告诉我什么时候出错吗
谢谢大家! 我建议使用
一种方法,在JavaScript纯中执行,无第三方库:
或者只需更新时间6小时,就像您的代码:
为什么不呢
首先,您不需要将任何内容转换为
JSON
,而且您的代码似乎是正确的(尽管您甚至没有使用$scope或controlleras语法将变量发送到视图-,我更愿意认为这只是在这里提出问题-),也许您在他的观点中犯了一些错误
所以您只需要使用指令来实现这一点
下面是一个代码片段:
var-app=angular.module('app',[]);
应用程序控制器('mainCtrl',函数($scope){
$scope.setHours=函数(){
$scope.event.startdateid.setHours($scope.event.startdateid.getHours()+6);
}
});代码>
不,这不是唯一的方法。@developer033刚刚修复。感谢您的解决方案似乎有效,但我使用Firebase,我认为如果date未转换为JSON,我无法将其存储在我的数据库中……谢谢,我忘记了一件事,但它的工作非常有魅力。:)
Date.prototype.addHours = function(h) {
this.setTime(this.getTime() + (h*60*60*1000));
return this;
}
startDate.setTime(this.getTime() + (6*60*60*1000));
moment(someDate).add(6, 'hours');