簡體   English   中英

將日期與字符串j​​avascript中的日期進行比較

[英]Comparing date with date in string javascript

我正在嘗試比較JavaScript中的一些日期。 首先,我從數據庫獲得。 在數據庫中它是日期格式,但是在以json文件發送后,我猜它只是一個字符串。

第二個我用JavaScript的Date格式得到它。 我在javascript中找到了這個腳本:

var todayAEJ = new Date();
var ddAEJ = todayAEJ.getDate();
var mmAEJ = todayAEJ.getMonth()+1; //January is 0!
var yyyyAEJ = todayAEJ.getFullYear();
if(ddAEJ<10){ddAEJ='0'+ddAEJ} if(mmAEJ<10){mmAEJ='0'+mmAEJ} todayAEJ = ddAEJ+'-'+mmAEJ+'-'+yyyyAEJ; 

它的工作就像一種魅力。

其他日期是這樣的:2014年1月13日

我試圖這樣比較:

if(todayAEJ > val.date_End)...

但是,當今天的日期大於val.date_End的日期時,它將返回true。 因此,當月份不同時,我不能使用此表格。 在這種情況下我該怎么辦?

   otherDate = '13-01-2014';
   myDate=myDate.split("-");
   var newDate=myDate[1]+","+myDate[0]+","+myDate[2];
    otherDateTimeStamp = new Date(newDate).getTime();
    todayAEJTimeStamp = new Date().getTime();
    if(todayAEJTimeStamp > otherDateTimeStammp){
      // your code
    }

您甚至可以使用var newDate=myDate[1]+"/"+myDate[0]+"/"+myDate[2];

使用上面的代碼...它將解決您的問題!

Iinjoy ...

如果可以使用MM-DD-YYYY格式代替DD-MM-YYYY格式,則可以使用Date.parse

var todayAEJTimeStamp = Date.parse(todayAEJ);//Date parse needs `MM-DD-YYYY` format

//if val.date_End is instance of Date
if(todayAEJTimeStamp > val.date_End.getTime()) {
    //your code here
}

您必須通過微時間進行比較

var date = new Date("11/21/1987 16:00:00");
var milliseconds = date.getTime(); // Compare this milliseconds

除了時間戳解決方案之外, 無論何時要在JS中與Date對象一起播放,我都建議使用date.js。 Date對象在JS中的行為很奇怪,該庫非常有用。

暫無
暫無

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

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