我正在用mvc-5 angularjs创建一个网络应用程序,
我需要显示用户输入的以下日期的数据(在文本框中(我有两个文本框)),但是用户只能获取1个月的数据,如果我想看到我可以输入的数据( 01-01-2016)至(31-01-2016)或(29-01-2016)至(31-01-2016)
如果用户输入日期(如(31-01-2016)至(03-02-2016),则警报将显示错误或者如果他输入日期(01-01-2016)至(31 -01-2017),然后还应出现警报,
我的webservice将验证以下字符串(frmdate and dateto
)
我需要在这做什么?
答案 0 :(得分:0)
您需要做的是找出From日期和To日期之间的差异,并根据您的逻辑检查差异是30天还是31天。
将这些日期字符串保存为Date对象。
var fromDate = new Date($scope.fromDate);
var endDate = new Date($scope.toDate);

为了在任何类型的计算中使用Date对象,我们必须首先检索Date的内部毫秒值,该值存储为一个大整数,因为您不能只添加或减去Date对象在一起。
// Convert both dates to milliseconds
var fromDate_ms = fromDate.getTime();
var endDate_ms = endDate.getTime();

然后计算以毫秒为单位的差异
var difference_ms = endDate_ms - fromDate_ms;
要获得给定毫秒数的天数,我们将除以86,400,000,即一天中的毫秒数(1000 x 60秒x 60分钟x 24小时):
var differene_days = Math.round(difference_ms/86400000);
如果differene_days
等于30或31,则显示报告,否则显示错误消息。