用jQuery / Javascript获取上周日期

时间:2012-10-09 18:16:11

标签: javascript jquery

我正试图在没有时间的情况下在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)

6 个答案:

答案 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;