这是显示两个日期之间所有记录的正确方法吗?它看起来像牛仔的工作;有没有正确的方法来正确显示所有记录?
这就是我用来显示所有记录的内容:
var todayDate = new Date();
var endDate = todayDate.getDate() + '/' + (todayDate.getMonth() + 1) + '/' + (todayDate.getFullYear() + 100);
var d = new Date();
var st = d.setDate(todayDate.getDate() - 111365);
var startDate = d.getDate() + '/' + (d.getMonth() + 1) + '/' + d.getFullYear();
$('#allrecordsstart').val(startDate);
$('#allrecordsend').val(endDate);
$('#TopPlayedInVenueContainer1').jtable('load', {
StartDate: startDate,
EndDate: endDate
});
我过去七天的正确显示方式:
var todayDate = new Date();
var endDate = todayDate.getDate() + '/' + (todayDate.getMonth() + 1) + '/' + todayDate.getFullYear();
var d = new Date();
var st = d.setDate(todayDate.getDate() - 7);
var startDate = d.getDate() + '/' + (d.getMonth() + 1) + '/' + d.getFullYear();
$('#lastWeekstart').val(startDate);
$('#lastWeekend').val(endDate);
$('#TopPlayedInVenueContainer1').jtable('load', {
StartDate: startDate,
EndDate: endDate
});
任何建议都会很棒。在此先感谢:)
答案 0 :(得分:2)
JavaScript解释器实际上认为日期是自1970年1月1日午夜以来经过的毫秒数。例如,2012年2月1日星期三实际上是JavaScript解释器的131328083200000(搞笑呃?)。
因此,要创建一个从现在起一周的日期,您可以执行以下操作:
var now = new Date(); // today var nowMS = now.getTime(); // get # milliseconds for today var week = 1000*60*60*24*7; // milliseconds in one week var oneWeekFromNow = new Date(nowMS + week);
第一行将当前日期和时间存储在名为now的变量中。接下来,getTime()方法提取从1970年1月1日到今天已经过的毫秒数。第三行计算一周内的总毫秒数(1000毫秒* 60秒* 60分钟* 24小时* 7天)。最后,代码通过将一周中的毫秒数添加到今天来创建新日期。
我从 Javascript& jQuery:The Missing Manual,David Sawyer 一书。 希望它有所帮助!
答案 1 :(得分:0)
每当我需要处理JavaScript中的日期时,我总是使用第三方库。通常是moment.js
var dateFormat = "DD/MM/YYYY";
var startDate = new moment().subtract("days", 7).format(dateFormat);
var endDate = new moment().format(dateFormat);