jsは現在の月によって歴史または未来の月に集合する.

1962 ワード

現在の月から、歴史の月を取る時、計算係数は12で、一回取って1を減らして、0と判断する時、年を1マイナスして、月を12に還元して、更に後押しします.
現在の月から、未来の月を取る時、計算係数は12で、一回ごとに1をプラスして、13と判断する時、年を1をプラスして、月を12に還元して、更に前へ押します.
<script type="text/javascript">
	//     ,        (      :  )
            function complementHistoryDate(numMonth) {
                var complDate = [];
                var curDate = new Date();
                var y = curDate.getFullYear();
                var m = curDate.getMonth() + 1;
                //        (  yyyy-mm)
                complDate[0] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
                m--;
                //       ,numMonth     
                for (var i = 1; i < numMonth; i++, m--) {
                    if (m == 0) {
                        // 1  ,    
                        y--;
                        m = 12; //  12    
                    }
                    complDate[i] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
                }
                return complDate;
            }

            //     ,        (      :  )
            function complementFutureDate(numMonth) {
                var complDate = [];
                var curDate = new Date();
                var y = curDate.getFullYear();
                var m = curDate.getMonth() + 1;
                //        (  yyyy-mm)
                complDate[0] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
                m++;
                //       ,numMonth     
                for (var i = 1; i < numMonth; i++, m++) {
                    if (m == 13) {
                        // 12  ,    
                        y++;
                        m = 1; //  1    
                    }
                    complDate[i] = y + "-" + (m.toString().length == 1 ? "0" + m : m);
                }
                return complDate;
            }
</script>