此致
鉴于当前日期,我想知道过去24个月的最后一天。我正在尝试获得类似于以下内容的输出:
当前月-1月30/11/2018
2018/10/31本月-2
...
2016年12月31日,当前月份为-24
我尝试搜索低谷,但找不到类似的问题。
有帮助吗? :)
编辑:基于Jalees代码,我附带了这段代码,我认为它可以满足我的需要:
for(i=0;i<24;i++)
{
d = new Date();
d.setMonth(d.getMonth() + (1 - (i + 1)));
d.setDate(0);
$('#aaaaa').append($('<option>', {value: 'x', text: d.getDate() + '/' + (((d.getMonth() + 1).length == 1) ? '0'+''+(d.getMonth() + 1) : d.getMonth() + 1) + '/' + d.getFullYear()}));
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="aaaaa"></select>
答案 0 :(得分:2)
使用循环索引从当前月份中减去以为每个月份建立一个新日期,并将该日期设置为零以获得上个月的最后一天
使用Array#from()
的示例:
const curr = new Date();
function getPrevMonth(_,i){
const prev = new Date(curr.getFullYear(), curr.getMonth()-i, 0)
return [prev.getDate(), prev.getMonth()+1, prev.getFullYear()].join('/')// format as desired
}
const months = Array.from({length:24}, getPrevMonth);
console.log(months)
答案 1 :(得分:1)
您可以使用此技术 。对于2月,您可以使用1,对于3月2日,可以继续。
var month = 0; // January
var d = new Date(2008, month + 1, 0);
alert(d); // last day in January