2016-11-24 101 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則顯示報告,否則顯示錯誤消息。

相關問題