我想檢查08/2014是否大於02/2014 ..如何檢查一個月/年是否大於當前月/年的Javascript
我該怎麼做在JavaScript?可能有人幫我請...
目前我只檢查未來的一年。這是代碼片段。
this.isDateGreaterThanCurrent=function(b){
return parseInt(b)>parseInt(new Date().getFullYear());
};
我想檢查08/2014是否大於02/2014 ..如何檢查一個月/年是否大於當前月/年的Javascript
我該怎麼做在JavaScript?可能有人幫我請...
目前我只檢查未來的一年。這是代碼片段。
this.isDateGreaterThanCurrent=function(b){
return parseInt(b)>parseInt(new Date().getFullYear());
};
Date
對象可以比較彼此。因此,不要解析它們,您可以將它作爲date
對象本身。
function isDateGreaterThanToday(b) {
var dS = b.split("/");
var d1 = new Date(dS[1], (+dS[0] - 1));
var today = new Date();
if (d1 > today) {
return "D is greater";
} else {
return "today is greater";
}
}
console.log(isDateGreaterThanToday("08/2014"))
你就要成功了...... 使用拆分方法來創建一個數組出你的約會的
this.isDateGreaterThanCurrent=function(b){
var a = b.split('/');
if(parseInt(a[1])>parseInt(new Date().getFullYear())) return true;
else if (parseInt(a[1]) == parseInt(new Date().getFullYear()) && parseInt(a[0])>parseInt(new Date().getMonth())+1)return true;
else return false;
};
不要忘記的getMonth返回值從0到11,而不是從1到12 !
隨着moment.js(我推薦),然後..
var d1 = moment("08/2014", "MM/YYYY")
var d2 = moment("02/2014", "MM/YYYY")
d1.isBefore(d2) // false
d1.isAfter(d2) // true
然而,這可以通過手工完成毫不費力。
創建了在 「MM/YYYY」 返回 「YYYY-MM」 的功能。然後可以將結果與標準字符串比較進行比較。主要的第一個組件佈局是像ISO 8601這樣的格式很好的一個原因 - 即使是字符串,它也可以很容易地訂購。
function toPartialIso(str) {
var m = str.match(/(\d{2})\/(\d{4})/);
if (m) {
return m[2] + "-" + m[1]
}
throw "bad date!"
}
toPartialIso("08/2014") < toPartialIso("02/2014") // false
toPartialIso("08/2014") > toPartialIso("02/2014") // true
構建體2與
new Date(year, month) //month start from 0 (ie january is 0)
如日期對象,
d1 = new Date(2014, 7) // 08/2014 (month - 1)
d2 = new Date(2014, 1) // 02/2014
現在檢查,
Date.parse(d1) > Date.parse(d2)
Date.parse()
,解析日期的字符串表示,並返回噸他從1970年1月1日,當地時間00:00:00開始的毫秒數。
要比較兩個日期這是在您的格式,我們要分析的日期,並提取月份和年份,並比較他們
其較受歡迎的使用一些第三方庫
如果你想這樣做手工樣品代碼看起來像
function checkMonths(month1, month2) {
var m1 = month1.split("/");
var m2 = month2.split("/");
var res = -1;
if(parseInt(m1[1]) > parseInt(m2[1])) {
res = 1;
} else if(parseInt(m1[1]) == parseInt(m2[1])) {
if(parseInt(m1[0]) > parseInt(m2[0])) {
res = 1;
} else if(parseInt(m1[0]) == parseInt(m2[0])) {
res = 0;
}
}
return res;
}
工作演示JSFiddle demo
我更喜歡[moment.js](http://momentjs.com/),然後..'時刻( 「08/2014」, 「MM/YYYY」)。isBefore(時刻(「02/2014」,「MM/YYYY」))。但是,您可以自由地手動完成此操作。我將首先創建一個接收「02/2014」並返回「2014-02」的函數;那麼可以用詞法*與標準字符串比較進行比較。 – user2864740