我想在日期中添加月份,并采用mm/dd/yy格式

I want to add months into a date and get in mm/dd/yy format

本文关键字:mm dd 格式 yy 日期 添加      更新时间:2023-11-13

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

例如;这是我的日期2016年1月4日

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

如果我选择每月选项,结果日期应为2016年1月5日

有人能帮我吗?

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

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

Date需要以ISO格式对输入进行格式化。

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

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')

我假设您将在我解释的某个事件上添加天数,请单击此处的事件。

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在这里