簡體   English   中英

日期比較無法正常工作

[英]Date comparison not working as expected

嗨,我在JS代碼中有以下if語句。

    if (attributes.DATE > '10/20/2013'){
        html += '<b>Maximum percentage:</b> ' + aPerc + '%';
    }
    else {
        html += '<b>Percentage:</b> ' + aPerc + '%';    
    }

對於2013年10月的日期和所有1月的日期(無論年份如何),它似乎都可以正常工作。

在過去的10月中,它將在10月1日至19日顯示“最大百分比:”,在10月20日至31日顯示“百分比”。

其他月份無法正常工作。 例如2月,3月,4月等,它顯示“最大百分比”。

我猜想這與我的日期格式有關嗎? 謝謝。

我會這樣做:

var date1 = new Date(attributes.DATE);
var date2 = new Date('10/20/2013');

if (date1 > date2){
    html += '<b>Maximum percentage:</b> ' + aPerc + '%';
}
else {
    html += '<b>Percentage:</b> ' + aPerc + '%';    
}

這樣,您將比較兩個日期對象而不是兩個字符串對象。

您正在進行字符串比較,但是字符串中字段的順序不會為您提供日期順序的比較。 (如果兩個字符串均為yyyy/MM/dd順序,您將得到一個...)

如果DATEDate實例,則可以執行以下操作:

if (attributes.DATE >= new Date(2013, 9, 21)){

...從10月21日午夜開始就是正確的(月份值從0 =一月開始,所以9 =十月)。 請注意,我將其設置為>=和21號,而不是20號,因為我假設如果您要查找> '10/20/2013' ,則表示21號或更高版本(而不是意思是“ 20號”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM