我对date comparison in javascript
有疑问。
我想要find max date out of three datetime variables
。
赞,我可以使用以下简短方法找到c# linq
中的最长日期
maxDate= new[] {p1.Date, p2.Date, p3.Date}.Max();
javascript
有这么好的方法吗?
答案 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);
答案 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对象数组的最大值