繁体   English   中英

在JavaScript中更改日期范围

[英]Change date range in javascript

我正在尝试在日期选择器中设置开始和结束日期,其中开始日期是当前日期之前的一周,结束日期是开始日期之后的一周。 在某些情况下,它给我0作为开始日期。 当当前日期是一个月的第一天或该月的最后一个日期时,任何人都可以查看下面的代码,并帮助我获得正确的日期范围。 谢谢你的帮助。

 var date = new Date();

//当当前日期在某些情况下小于7时,给我错误。 因此,我正在检查当前日期并随机减去3。//如果当前日期小于7,则如果(date.getDate()<= 7){

    day = new Date(date.getFullYear(), date.getMonth(), 0);        
    startdate = day.getDate() - 3;
    month = day.getMonth() + 1;
    year = day.getFullYear();

    if (month < 10) month = "0" + month;
    if (day < 10) day = day;
    console.log("App Config: lasy day: " + startdate + "\nmonth: " + month + "\nyear:" + year);
}

else {

    startdate = date.getDate() - 7;
    month = date.getMonth() + 1;
    year = date.getFullYear();

    if (month < 10) month = "0" + month;
    if (day < 10) day = day;

    console.log("App Config: day: " + startdate + "\nmonth: " + month + "\nyear:" + year);
}

return month + "/" + startdate + "/" + year;

您是否尝试过:

var dt = new Date();
var weekBefore = dt.setDate(dt.getDate() - 7);
var weekAfter = dt.setDate(dt.getDate() + 7);

JavaScript会在7天前后自动计算出来!

如果您对插件没问题,我建议您使用Moment.js ,它非常适合日期处理。 加一个星期就像

var inOneWeek = moment().add(1, 'weeks');//.format('DD/MM/YYYY'); if u want it in DD/MM/YYYY format
var oneWeekAgo = moment().add(-1, 'weeks');//.format('DD/MM/YYYY');

否则,@ sabotero的答案也可以。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM