我想将月份添加到日期并以mm / dd / yy格式输入

时间:2016-04-01 04:40:02

标签: javascript

我想在特定日期添加月数,并使用javascript以mm / dd / yy格式获取结果

例如;这是我的约会04/01/2016

我的频率是每年,每六个月,每三个月,每两个月,每月,每月两次,每两周,每周,每四周,一次。

如果我选择每月选项,结果日期应为05/01/2016

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

首先,您需要将日期记入Date对象。

var myDate = new Date("2016-04-01 00:00:00");

Date需要在ISO format中格式化输入。

然后,您可以使用以下内容添加不同的月份数:

var myDate_6Months = new Date(myDate.setMonth(myDate.getMonth() + 6));

上面这一行通过抓住您的原始日期来创建一个新的Date对象,并为其添加所需的月份数量。

如果你要输出myDate_6Months,你会得到:

Sat Oct 01 2016 00:00:00

增加11个月:

var myDate_11Months = new Date(myDate.setMonth(myDate.getMonth() + 11))

会导致:

Wed Mar 01 2017 00:00:00

为了在mm/dd/yy一个简单的方法中获取日期,请使用moment.js

moment(myDate_6Months).format('MM/DD/YY')

答案 1 :(得分:0)

我假设你会在某些事件上添加日期,我在这里解释了点击事件。

HTML

<ul>
    <li><button data-add="1 year">Add Year</button></li>
    <li><button data-add="6 month">Add 6 month</button></li>
    <li><button data-add="3 month">Add 3 month</button></li>
    <li><button data-add="2 month">Add 2 month</button></li>
    <li><button data-add="1 month">Add 1 month</button></li>
    <li><button data-add="2 weeks">Add 2 weeks</button></li>
</ul>

JS

$('button').on('click', function() {
    console.log("button click");
    var myDate = new Date();
    console.log(myDate);
    var timeSpan = $(this).attr("data-add");
    switch(timeSpan) {
      case "1 year":
        myDate = myDate.setFullYear(myDate.getFullYear() + 1);
        break;
      case "3 month":
        myDate = myDate.setMonth(myDate.getMonth() + 3);
        break;
      default:
        break;
    }
  console.log(myDate);
  moment(myDate).format('MM/DD/YYYY');//include moment js to format date
});

使用上面的代码,您可以添加特定的时间。对于格式化日期,您可以使用moment.js

jsbin是here