我想从3个日期(8/1/2011,6/1/2011,7/1/2011)的格式是(毫米/日/年),使用Java脚本找到最小日期。如何使用javascript函数从3个日期中找到最短日期?
2
A
回答
2
未经测试的代码,但你应该明白了吧!
// Initialise an array of dates, with correct values
// You want 3 dates, so put them in here
var MyDates= New Array('15/10/2000','28/05/1999','17/09/2005');
// A function that takes an array of dates as its input
// and returns the smallest (earliest) date
// MUST take at LEAST 2 dates or will throw an error!
function GetSmallestDate(DateArray){
var SmallestDate = new Date(DateArray[0]);
for(var i = 1; i < DateArray.length; i++)
{
var TempDate = new Date(DateArray[i]);
if(TempDate < SmallestDate)
SmallestDate = TempDate ;
}
return SmallestDate ;
}
// Call the function!
alert(GetSmallestDate(MyDates));
1
/**
* Return the timestamp of a MM/DD/YYYY date
*/
function getTime(date) {
var tmp = date.split('/');
var d = new Date(tmp[2], parseInt(tmp[0])-1, tmp[1]);
return d.getTime();
}
// then return the output: getTime('6/7/2000') < getTime('6/7/2001')
详见Date。如果你是一个jQuery UI用户,你可能会发现他们的date parsing method有帮助。
3
转换日期为int,使用Math.min寻找最小:
var dates = ['8/1/2011', '6/1/2011', '7/1/2011']; // dates
dates = dates.map(function(d) {
d=d.split('/');
return new Date(d[2], parseInt(d[0])-1, d[1]).getTime();
}); // convert
var minDate = new Date(Math.min.apply(null, dates)); // smallest > Date
+0
+1使用'apply',的确比我的解决方案更加整洁。但是请记住,'Array.map'在许多浏览器中都不支持,但是(没有IE <9)。 – 2011-04-20 10:38:59
相关问题
- 1. 如何从物品清单中找到最短日期?
- 2. JavaScript数组找到最近的日期与当前日期+ dayscounter
- 3. Java中的最短日期
- 4. 如何从两个月的日期找到剩余日期?
- 5. 如何从日期找到一个月的遗体日期?
- 6. JavaScript中的短跑日期
- 7. 使用JavaScript显示日期+ 3个月?
- 8. 如何从选定的日期找到到期日?
- 9. 如何从日期数组中找到最早的MMMYY?
- 10. 带条件的最短日期使用窗口函数
- 11. 如何找到最近的日期?
- 12. 绝对最短日期
- 13. Javascript从日期中扣除日期
- 14. 如何设置最短日期
- 15. 如何查找URL缩短的日期
- 16. 查找上个星期日的日期从当前日期
- 17. 如何在JavaScript中转换JavaScript日期到日期?
- 18. 如何找到今天的日期和日期从一个数据帧
- 19. 选择时间间隔日期最大日期和最短日期
- 20. 日期参数最短日期是今天在URL
- 21. 如何找到最近的一个星期的任意日期?
- 22. 从数据库日期找到最接近的日期时遇到的麻烦
- 23. 如何设置从模型检索JQuery日期选择器的最短日期
- 24. 使用找到日期
- 25. 从日期列表中查找本月最旧日期
- 26. 如何在swift中将日期添加到日期3
- 27. 未到达最新日期的使用日期参数
- 28. 使用JQuery查找日期的日期
- 29. 如果我点击其他日期更改最短日期
- 30. 如何得到两个日期的最后日期SSRS
你不能比较字符串这样,你需要'Date'对象或至少串'YYYY/MM/DD'格式。 – 2011-04-20 10:22:54
@Marcel谢谢,我已经改变了,现在应该工作,这一切都未经测试,虽然 – 2011-04-20 10:49:41
这是好了很多,但仍然不是很强劲:如果你给'Date'一个字符串,你不得不拥有一个实现相关的方法[日期解析](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/parse);你最好使用像Rudie使用的方法,在这里你提供'Date'三个参数(转换为数字)。 – 2011-04-20 10:54:09