我有一个jQuery onclick函数,它基本上会收到一个月的名字,从那个月的名字,我想得到一个月的范围。比如我正在传递一个月的名字“May”,就像这样:
$('#swiperNext').click(function(e)
{
var currentMonth = $('.swiper-slide-active h3').html();
console.log(currentMonth);
});
现在我想将当前月份名称传递给JS函数并获取该月份的日期范围。
所以例如May将是=> 01-05-2016 - 31-05-2016,依此类推......有人可以帮我解决这个问题吗?
答案 0 :(得分:6)
你可以在没有任何第三方图书馆的情况下这样做。
我认为你是当年的计算
var date = new Date();
var y = date.getFullYear();
var month = $('.swiper-slide-active h3').text();
var m = new Date(Date.parse(month, 1, " + y)).getMonth();
var firstDay = new Date(y, m, 1);
var lastDay = new Date(y, m + 1, 0);
编辑:我已经更改了将月份名称用作字符串的答案
答案 1 :(得分:2)
我会使用Moment.js。它非常适合操纵日期和各种各样的事情。
在您的具体案例中:
var startOfMonth = moment().month("June").startOf("month").toDate()
var endOfMonth = moment().month("June").endOf("month").toDate()
答案 2 :(得分:1)
您可以使用此功能:
function getMonthFromString(monthName){
var date = new Date(Date.parse(monthName + 1, new Date().getFullYear()));
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1).getDate();
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();
var month = new Date(Date.parse(monthName + 1, new Date().getFullYear())).getMonth()+1;
var year = new Date().getFullYear();
return firstDay + "-" + month + "-" + year + " - " + lastDay + "-" + month + "-" + year;
}
答案 3 :(得分:0)
首先我按照getMonth()索引创建月份名称数组。然后按indexOf找到所需的月份名称,这将在找到时返回你的数组索引。
注意getMonth()只是0到11之间的返回数,假设是Jan到Dec
因此在getMonth中添加了1
{{1}}