比较Angular 6中的两个日期

Zhu*_*Zhu 10 typescript angular angular6

我是 angular 6 的新手,在这里我需要比较日期输入并找到最大的输入。

input 1 : 2018-12-29T00:00:00
input 2 : Mon Dec 31 2018 00:00:00 GMT+0530 (India Standard Time)
Run Code Online (Sandbox Code Playgroud)

在这里,我收到了来自 mssql 数据库的输入 1和来自材料 datepicker的输入 2

如下比较这两个日期时,我得到了错误。

console.log(mMagazineObject.From < mMagazineObject.To ? true : false);
Run Code Online (Sandbox Code Playgroud)

有没有可能比较这两种日期格式。如果是,请帮我解决这个问题。

Der*_*ğlu 13

你可以使用 getTime

if (input1Date.getTime() < input2Date.getTime()) 
Run Code Online (Sandbox Code Playgroud)

请注意,如果您的日期是字符串格式,则首先需要将它们解析为 Date


Meh*_*lal 5

Angular 有内置的 formatDate 方法,所以你可以用它来格式化你的日期,也可以像下面的代码一样简单地比较它:

在您的 component.ts 文件中:

   date1 = formatDate(new Date(),'yyyy-MM-dd','en_US');
   date2 = let FToday = formatDate(datecomingfromdb,'yyyy-MM-dd','en_US');

   if(date1>date2){
     console.log('---date1 is greater----');
    }else{
     console.log('---date2 is greater-----');
    }
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助,您可以在此处的Angular 文档中阅读更多内容