我正试图在没有时间的情况下在javascript中获取上周日期。
例如,2012年2月10日,而不是格林尼治标准时间10-02-12 13:34:56。
那里有一个简单的解决方案吗?
谢谢!
修改
我正在尝试使其动态化,以便生成的变量始终在当前日期之前一周。以下是我为计算今日变量所做的工作,如果这有用或可以使用的话!
var currentTime = new Date();
var month = currentTime.getMonth() + 1
var day = currentTime.getDate();
var year = currentTime.getFullYear();
var today = month + "-" + day + "-" + year;
alert(today)
答案 0 :(得分:35)
我更喜欢这样的东西
function getLastWeek() {
var today = new Date();
var lastWeek = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);
return lastWeek;
}
var lastWeek = getLastWeek();
var lastWeekMonth = lastWeek.getMonth() + 1;
var lastWeekDay = lastWeek.getDate();
var lastWeekYear = lastWeek.getFullYear();
var lastWeekDisplay = lastWeekMonth + "/" + lastWeekDay + "/" + lastWeekYear;
var lastWeekDisplayPadded = ("00" + lastWeekMonth.toString()).slice(-2) + "/" + ("00" + lastWeekDay.toString()).slice(-2) + "/" + ("0000" + lastWeekYear.toString()).slice(-4);
console.log(lastWeekDisplay);
console.log(lastWeekDisplayPadded);
如果您正在使用jQuery UI,则可以执行此操作而不是手动步骤来构建字符串
var lastWeekDisplay = $.datepicker.formatDate('mm/dd/yy', getLastWeek());
或今天
var todayDisplay = $.datepicker.formatDate('mm/dd/yy', new Date());
答案 1 :(得分:15)
var firstDay = new Date("2009/10/02");
var previousweek= new Date(firstDay.getTime() - 7 * 24 * 60 * 60 * 1000);
查看此链接。它会有所帮助: - http://code.google.com/p/datejs/
答案 2 :(得分:12)
我们不能在没有提到Moment.js的情况下回答javascript日期问题。
moment().subtract('days', 7).format('MM-DD-YYYY')
答案 3 :(得分:1)
您可以轻松完成
new Date().setDate(new Date().getDate() - 7)
答案 4 :(得分:0)
如果你真的想从格林尼治标准时间10-02-12 13:34:56这样的完整时间戳创建它,你可能想要这样做:
var time = '10-02-12 13:34:56 GMT';
document.write(time.substr(0,7));
答案 5 :(得分:0)
使用此代码减去任何天数,因为我选择了9天,它将得出包括今天在内的最近10天的结果
var date = new Date();
var day=date.getDate();
var month=date.getMonth() + 1;
var year=date.getFullYear();
var startDate=day+"/"+month+"/"+year;
var dayBeforeNineDays=moment().subtract(9, 'days').format('DD/MM/YYYY');
startDate=dayBeforeNineDays;
var endDate=day+"/"+month+"/"+year;