Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
Javascript AngularJS-为JSON输入日期增加6小时_Javascript_Angularjs_Json - Fatal编程技术网

Javascript AngularJS-为JSON输入日期增加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

我不知道如何在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:

<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');