2016-11-24 99 views
0

我创造的MVC-5 angularjs一个Web应用程序,显示警报,如果月/年的两个字符串不同

我需要证明(由用户输入以下日期的数据在文本框(我有两个文本框)),但用户只能获取1个月的数据,如果我想查看我可以输入的数据(01-01-2016)至(31-01-2016)或(29-01-2016)至(31-01-2016)

ia用户输入日期,例如(31-01-2016)至(03-02-2016),那么警报将显示错误,或者如果他输入日期如(01 -01-2016)至(31-01-2017),然后还应该出现警报, 我的web服务将验证以下字符串中的数据(frmdate and dateto

我需要在这里做什么?

+0

使用getmonth(),getyear()并尝试比较两者,然后根据结果显示警报 –

回答

0

您需要做的是找到From date和To date之间的差异,并根据您的逻辑检查差异是30天还是31天。

将这些日期字符串保存为Date对象。

var fromDate = new Date($scope.fromDate); 
 
var endDate = new Date($scope.toDate);

为了在任何类型的计算使用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×60秒×60分钟×24小时):

var differene_days = Math.round(difference_ms/86400000); 

如果differene_days等于30或31则显示报告,否则显示错误消息。

相关问题