2017-07-13 35 views
2

我有這個函數需要今天的日期並將它與兩週的時間進行比較。當它小於或等於當前日期時,它應該添加一個類。但是,如果是今天的日期,那麼它不起作用。否則,它工作正常。有任何想法嗎?由於與今天的日期相比,日期對象似乎並不準確

publicMethods.campaignEndDateAlert = function (dateString) { 
    if (!dateString) { 
    return dateString 
    }; 

    var currentDate = new Date(); 
    var twoWeeks = new Date(); 
    twoWeeks.setDate(currentDate.getDate() + 14); 
    var inputDate = new Date(dateString); 

    // This is the part that doesn't seem to work - the first part of this if statement 
    if ((inputDate >= currentDate) && (inputDate <= twoWeeks)) { 
    dateString = '<span class="red">' + ax.Utils.RFCFormat(dateString, { excludeTime: true }) + '</span>'; 
    } else { 
    dateString = ax.Utils.RFCFormat(dateString, { excludeTime: true }) 
    }; 
    return dateString; 
}; 
+3

InputDate是否生成有效的日期對象?你可以舉一個dateString的例子嗎? –

+0

嗨,納達,它是。 – erics15

+0

剛注意到「如果是今天的日期」部分 –

回答

3

由於您提供的信息:

你說,如果今天的日期按預期的方式不起作用。這是因爲new Date()將提供當天日期爲時間的日期對象。 如果 dateString的值類似於"07-13-2017"而沒有時間,如果您希望inputDate >= currentDate爲真,您需要從currentDate對象中除去時間。在與inputDate比較之前,嘗試使用currentDate.setHours(0, 0, 0, 0);

+1

是的Nathan,謝謝。我比較了日期對象,其中一個包含了這個解決方案的時間。欣賞它! – erics15

+1

很高興爲你效勞 –