Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从当前日期减去1周-javascript_Javascript - Fatal编程技术网

从当前日期减去1周-javascript

从当前日期减去1周-javascript,javascript,Javascript,这就是我获取当前日期的方式,dd-MMM-yyyy格式。如何减去1周 var m_names = new Array("JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"); var d = new Date(); var curr_date = d.getDate(); var curr_month = d.getMonth(

这就是我获取当前日期的方式,dd-MMM-yyyy格式。如何减去1周

    var m_names = new Array("JAN", "FEB", "MAR",
            "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC");

    var d = new Date();
    var curr_date = d.getDate();
    var curr_month = d.getMonth();
    var curr_year = d.getFullYear();
    var current = curr_date + "-" + m_names[curr_month] + "-" + curr_year;

您可以这样尝试:-

var d= new Date();
d.setDate(d.getDate() - 7);
使用该工具,您可以执行以下操作:

Date.parse("t - 7 d").toString("MM-dd-yyyy");     
Date.today().addDays(-7).toString("MM-dd-yyyy");  
Date.today().addWeeks(-1).toString("MM-dd-yyyy");
var one_week_ago = moment().subtract('weeks', 1).format('DD-MMM-YYYY')
只需添加
d.setDate(d.getDate()-7)在您的
var d=new Date()之后

考虑到

moment().calendar();

那么你所需要的就是

moment().subtract('days', 7).format('DD-MMM-YYYY')
变成

06-Nov-2013
对于像这样的相对日期的东西来说是很棒的:

Date.parse("t - 7 d").toString("MM-dd-yyyy");     
Date.today().addDays(-7).toString("MM-dd-yyyy");  
Date.today().addWeeks(-1).toString("MM-dd-yyyy");
var one_week_ago = moment().subtract('weeks', 1).format('DD-MMM-YYYY')

要对日期元素进行求和或减法,只需执行以下操作:

let currentDate = new Date()
//get each element from the current date
let year = currentDate.getFullYear()
let month = currentDate.getMonth()
let day = currentDate.getDate()
let hours = currentDate.getHours()
let minutes = currentDate.getMinutes()
let seconds = currentDate.getSeconds()
let milliseconds = currentDate.getMilliseconds()


//build the new date according the changes you want to do
let newDate = new Date(year, month, day - 7, hours, minutes, seconds, milliseconds )
console.log(newDate.toISOString())

最棒的是,即使每个参数的数字都不“有效”,该方法也会正确地调整它,例如,如果月份的数字是13,那么日期将再加上一年,月份将是1。

而不是另一个DIY,如果您对日期有更多的了解,您可能希望考虑作为库,而不仅仅是这个示例。