Javascript获得月份名称

时间:2016-05-27 09:36:16

标签: javascript jquery date range

我有一个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,依此类推......有人可以帮我解决这个问题吗?

4 个答案:

答案 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}}