假设指定的日期为2010-11-9
,如何编程获取持续时间?
发布于 2010-10-15 21:09:27
来自here的这个怎么样?
function days_between(date1, date2) {
// The number of milliseconds in one day
var ONE_DAY = 1000 * 60 * 60 * 24
// Convert both dates to milliseconds
var date1_ms = date1.getTime()
var date2_ms = date2.getTime()
// Calculate the difference in milliseconds
var difference_ms = Math.abs(date1_ms - date2_ms)
// Convert back to days and return
return Math.round(difference_ms/ONE_DAY)
}
发布于 2010-10-15 21:06:12
Math.abs(new Date() - Date.parse("Nov 9, 2010")) / ( 60*60*24) / 1000
返回:
24.786491909722223
发布于 2010-10-15 21:04:37
这并不完全合适,但是您可以从Date
实例调用getTime()
来获取自纪元以来的毫秒数。减去其中的两个,然后除以一天中的毫秒数。
如果需要,您可以通过将小时、分钟和秒显式设置为零,将日期恢复到一天的开始时间:
function startOfDay(d) {
d.setHours(0); d.setMinutes(0); d.setSeconds(0); d.setMilliseconds(0);
return d;
}
var startOfToday = startOfDay(new Date());
https://stackoverflow.com/questions/3942454
复制相似问题