js获取上一个月份

JavaScript013

js获取上一个月份,第1张

1、根据输入的日期,获取年,月,日信息。

2、根据月信息,减去一个月,就是上一个月。注意1月份是上一年的12月份。

3、然后再拼接成日期格式

根据上面步骤,可以写对应的功能函数

/**

         * 获取上一个月

         *

         * @date 格式为yyyy-mm-dd的日期,如:2014-01-25

         */

        function getPreMonth(date) {

            var arr = date.split('-')

            var year = arr[0] //获取当前日期的年份

            var month = arr[1] //获取当前日期的月份

            var day = arr[2] //获取当前日期的日

            var days = new Date(year, month, 0)

            days = days.getDate() //获取当前日期中月的天数

            var year2 = year

            var month2 = parseInt(month) - 1

            if (month2 == 0) {//如果是1月份,则取上一年的12月份

                year2 = parseInt(year2) - 1

                month2 = 12

            }

            var day2 = day

            var days2 = new Date(year2, month2, 0)

            days2 = days2.getDate()

            if (day2 > days2) {//如果原来日期大于上一月的日期,则取当月的最大日期。比如3月的30日,在2月中没有30

                day2 = days2

            }

            if (month2 < 10) {

                month2 = '0' + month2//月份填补成2位。

            }

            var t2 = year2 + '-' + month2 + '-' + day2

            return t2

        }

 

 调用

 alert(getPreMonth("2014-01-25"))

var getLastDays = function(){

    var now = new Date

    now.setMonth(now.getMonth() - 1)

    now.setDate(1)

    var next = new Date

    next.setDate(1)

    var arr = []

    while(now < next){

        arr.push(now.getDate())

        now.setDate(now.getDate() + 1)

    }

    return arr

}

console.log(getLastDays())

代码思路:

通过js的Date()中的方法 ,判断出当前的月份和日期。

将一个月的30天的日期(大月为31,2月可28,29,),使用条件语句分为1-10为上旬,11-20为中旬,>21为下旬。

判断当前的日期为哪个区间即可。