簡體   English   中英

比較日月和年

[英]Compare day month and year

在我的時區下午好。

我想比較兩個日期,其中一個是用戶插入的,另一個是當前日期。 代碼片段:

    var dateString = "2012-01-03"
    var date = new Date(dateString);
    date < new Date() ? true : false;

這返回 true,我認為在引擎蓋下兩個 Date 對象都轉換為毫秒然后進行比較,如果是這種方式,“今天”對象會因小時和分鍾而變大。所以我想要做的只是比較日期按天、月和年。最好的方法是什么? 創建一個新的 Date 對象,然后在比較之前將小時分鍾和毫秒重置為零? 或者從兩個日期對象中提取月份和年份的日期並進行比較? 有沒有更好的方法?

提前致謝 最好的問候。 新年快樂

將創建日期的時間部分設置為零

var d = new Date();
d.setHours(0,0,0,0);

基於已接受答案的生產就緒示例

  1. 將以下函數添加到您的 Javascript

    Date.prototype.removeTimeFromDate = function () { var newDate = new Date(this); newDate.setHours(0, 0, 0, 0); 返回新日期; }

  2. 每當您想比較時調用它

    firstDate.removeTimeFromDate() < secondDate.removeTimeFromDate()

由於它是 yyyy-mm-dd 格式,您可以從日期對象構建當前的 yyyy-mm-dd 並進行常規字符串比較:

var currentDate = new Date();
var year = currentDate.getFullYear();
var month = currentDate.getMonth()+1;
if (month < 10) month = "0" + month;
var day = currentDate.getDate();
if (day < 10) day = "0" + day;
currentDate = year + "-" + month + "-" + day;

var dateString = "2012-01-03"
var compareDates =  dateString < currentDate ? true : false;
document.write(compareDates);

暫無
暫無

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

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