2017-07-26 55 views
-3

嗨我有兩個日期在用戶界面:到和從,格式dd.MM.YYYY HH:mm:ss 我需要在幾個月內找出兩個日期之間的差異。 我嘗試以下,以獲取日期的年份和月份,但不工作:在兩個日期之間找到具有格式dd.MM.yyyy HH:mm:ss在JQuery中的月差異

var To = $("#startDate").val(); 
alert(To.getMonth() + To.getFullYear()); 

它給NANANA的警報。 P.S它非常罰款格式YYYY-MM-DD HH:MM:SS而不是上面的格式

+1

你爲什麼不使用moment.js。你可以使用差異函數來做到這一點 – DarkseidNG

+0

@DarkseidNG因爲包括一個整個庫來做一兩次事情是沒有意義的,特別是可以用Vanilla Js中的幾行來完成。 – Adriani6

+0

@ Adriani6這實際上是使用日期的行業標準。從字面上看,任何值得他們使用鹽的人都會告訴你,不要試圖在香草javascript中處理日期,而只是使用momentjs。 「一個好的程序員是一個懶惰的程序員。」爲什麼試着重新發明輪子? – jdmdevdotnet

回答

0

複製此:https://stackoverflow.com/a/34904248/4342197 但保存這樣你的價值。

var date = new Date(); 

var date1 = new Date("#startDate").val()); 
var date2 = d.getDate(); 
+0

這甚至都沒有意義,因爲接受的答案僅限於少數場景 – Wayne

+0

@Wayne這甚至沒有意義嗎?是的,它實際上是這樣,它很清楚你不知道你在說什麼關於。答案字面上在你的臉上(你做錯了什麼)。 – jdmdevdotnet

+0

@jdmdevdotnet它可能是很好的使用moment.js但getDate()函數是無用的,當日期格式不同 – Wayne

0

var To = moment($("#startDate").val(), "dd.MM.YYYY HH:mm:ss"); 
 
var From = moment($('#endDate').val(), "dd.MM.YYYY HH:mm:ss"); 
 
$('#MonthDiff').text(moment.duration(From.diff(To)).asMonths()); 
 
$('#YearDiff').text(moment.duration(From.diff(To)).asYears());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" value="01.07.2016 07:00:03" id="startDate" /> 
 
<input type="text" value="30.07.2017 13:43:46" id="endDate" /> 
 
<br> 
 
Month Difference: <label id="MonthDiff"></label> 
 
<br> 
 
Year Difference: <label id="YearDiff"></label>

+0

你的答案不應該依賴於在OP中既沒有標記也沒有提到的庫。此外,你的解析字符串是錯誤的,它應該是「DD.MM.YYYY HH:mm:ss」,注意大寫DD。 – RobG

相關問題