从三个日期时间变量中找出最大日期

时间:2016-03-18 08:01:54

标签: javascript

我对date comparison in javascript有疑问。 我想要find max date out of three datetime variables

赞,我可以使用以下简短方法找到c# linq中的最长日期

maxDate= new[] {p1.Date, p2.Date, p3.Date}.Max();

javascript有这么好的方法吗?

4 个答案:

答案 0 :(得分:2)

您可以使用Math.max,如下所示:

var d1 = new Date();
var d2 = new Date();
var d3 = new Date();

var max = Math.max(d1, d2, d3);

// Will give you the max Date
console.log(new Date(max));

答案 1 :(得分:0)

如果你有d1,d2,d3作为日期,你可以使用函数getTime()。给你一个数值。

maxDate = Math.max(d1.getTime(), d2.getTime(), d3.getTime()); ///This is not a date, but a number that represents a date, you have to reconvert it
maxDate = new Date(maxDate); //This is the current max date.

答案 2 :(得分:0)

您可以使用js数组的sort方法查找min&最长日期

/* In ascending order*/
        function sortDates(a, b)
    {
        return a.getTime() - b.getTime();
    }  



/* in descending order.max & min value will be different
    function sortDates(a, b)
    {
        return b.getTime() - b.getTime();
    } */

var dates = [];

dates.push(new Date("03/18/2016"))
dates.push(new Date("03/18/2015"))
dates.push(new Date("03/18/2017"))
dates.push(new Date("03/18/2018"))

var sortedArray  = dates.sort(sortDates);
var minDate = sortedArray [0];
var maxDate = sortedArray [sortedArray .length-1];
console.log(minDate , maxDate);

jsfiddle

答案 3 :(得分:0)

您可以使用_.max()

中的Underscore.js
    let d1 = new Date("2017,02,20");
    let d2 = new Date("2016,02,25");
    let d3 = new Date("2018,03,10");
    let dateList = [];
    dateList.push(d1,d2,d3);
    var max = _.max(dateList);

将给出Date对象数组的最大值

小提示演示:http://jsfiddle.net/4J2SX/203/