LoginSignup
0
0

More than 5 years have passed since last update.

帳票締日情報を取得

Posted at
var cutoffDayInfo = [
    [//1日締
        [//前締
            {from: '1202', to: '0101'},
            {from: '0102', to: '0201'},
            {from: '0202', to: '0301'},
            {from: '0302', to: '0401'},
            {from: '0402', to: '0501'},
            {from: '0502', to: '0601'},
            {from: '0602', to: '0701'},
            {from: '0702', to: '0801'},
            {from: '0802', to: '0901'},
            {from: '0902', to: '1001'},
            {from: '1002', to: '1101'},
            {from: '1102', to: '1201'}
        ],
        [//後締
            {from: '0101', to: '0131'},
            {from: '0201', to: '0228', leapTo : '0229'},
            {from: '0301', to: '0331'},
            {from: '0401', to: '0430'},
            {from: '0501', to: '0531'},
            {from: '0601', to: '0630'},
            {from: '0701', to: '0731'},
            {from: '0801', to: '0831'},
            {from: '0901', to: '0930'},
            {from: '1001', to: '1031'},
            {from: '1101', to: '1130'},
            {from: '1201', to: '1231'}
        ]
    ],
    [//2日締
        [//前締
            {from: '1203', to: '0102'},
            {from: '0103', to: '0202'},
            {from: '0203', to: '0302'},
            {from: '0303', to: '0402'},
            {from: '0403', to: '0502'},
            {from: '0503', to: '0602'},
            {from: '0603', to: '0702'},
            {from: '0703', to: '0802'},
            {from: '0803', to: '0902'},
            {from: '0903', to: '1002'},
            {from: '1003', to: '1102'},
            {from: '1103', to: '1202'}
        ],
        [//後締
            {from: '0102', to: '0201'},
            {from: '0202', to: '0301'},
            {from: '0302', to: '0401'},
            {from: '0402', to: '0501'},
            {from: '0502', to: '0601'},
            {from: '0602', to: '0701'},
            {from: '0702', to: '0801'},
            {from: '0802', to: '0901'},
            {from: '0902', to: '1001'},
            {from: '1002', to: '1101'},
            {from: '1102', to: '1201'},
            {from: '1202', to: '0101'}
        ]
    ],
    [//3日締
        [//前締
            {from: '1204', to: '0103'},
            {from: '0104', to: '0203'},
            {from: '0204', to: '0303'},
            {from: '0304', to: '0403'},
            {from: '0404', to: '0503'},
            {from: '0504', to: '0603'},
            {from: '0604', to: '0703'},
            {from: '0704', to: '0803'},
            {from: '0804', to: '0903'},
            {from: '0904', to: '1003'},
            {from: '1004', to: '1103'},
            {from: '1104', to: '1203'}
        ],
        [//後締
            {from: '0103', to: '0202'},
            {from: '0203', to: '0302'},
            {from: '0303', to: '0402'},
            {from: '0403', to: '0502'},
            {from: '0503', to: '0602'},
            {from: '0603', to: '0702'},
            {from: '0703', to: '0802'},
            {from: '0803', to: '0902'},
            {from: '0903', to: '1002'},
            {from: '1003', to: '1102'},
            {from: '1103', to: '1202'},
            {from: '1203', to: '0102'}
        ]
    ],
    [//4日締
        [//前締
            {from: '1205', to: '0104'},
            {from: '0105', to: '0204'},
            {from: '0205', to: '0304'},
            {from: '0305', to: '0404'},
            {from: '0405', to: '0504'},
            {from: '0505', to: '0604'},
            {from: '0605', to: '0704'},
            {from: '0705', to: '0804'},
            {from: '0805', to: '0904'},
            {from: '0905', to: '1004'},
            {from: '1005', to: '1104'},
            {from: '1105', to: '1204'}
        ],
        [//後締
            {from: '0104', to: '0203'},
            {from: '0204', to: '0303'},
            {from: '0304', to: '0403'},
            {from: '0404', to: '0503'},
            {from: '0504', to: '0603'},
            {from: '0604', to: '0703'},
            {from: '0704', to: '0803'},
            {from: '0804', to: '0903'},
            {from: '0904', to: '1003'},
            {from: '1004', to: '1103'},
            {from: '1104', to: '1203'},
            {from: '1204', to: '0103'}
        ]
    ],
    [//5日締
        [//前締
            {from: '1206', to: '0105'},
            {from: '0106', to: '0205'},
            {from: '0206', to: '0305'},
            {from: '0306', to: '0405'},
            {from: '0406', to: '0505'},
            {from: '0506', to: '0605'},
            {from: '0606', to: '0705'},
            {from: '0706', to: '0805'},
            {from: '0806', to: '0905'},
            {from: '0906', to: '1005'},
            {from: '1006', to: '1105'},
            {from: '1106', to: '1205'}
        ],
        [//後締
            {from: '0105', to: '0204'},
            {from: '0205', to: '0304'},
            {from: '0305', to: '0404'},
            {from: '0405', to: '0504'},
            {from: '0505', to: '0604'},
            {from: '0605', to: '0704'},
            {from: '0705', to: '0804'},
            {from: '0805', to: '0904'},
            {from: '0905', to: '1004'},
            {from: '1005', to: '1104'},
            {from: '1105', to: '1204'},
            {from: '1205', to: '0104'}
        ]
    ],
    [//6日締
        [//前締
            {from: '1207', to: '0106'},
            {from: '0107', to: '0206'},
            {from: '0207', to: '0306'},
            {from: '0307', to: '0406'},
            {from: '0407', to: '0506'},
            {from: '0507', to: '0606'},
            {from: '0607', to: '0706'},
            {from: '0707', to: '0806'},
            {from: '0807', to: '0906'},
            {from: '0907', to: '1006'},
            {from: '1007', to: '1106'},
            {from: '1107', to: '1206'}
        ],
        [//後締
            {from: '0106', to: '0205'},
            {from: '0206', to: '0305'},
            {from: '0306', to: '0405'},
            {from: '0406', to: '0505'},
            {from: '0506', to: '0605'},
            {from: '0606', to: '0705'},
            {from: '0706', to: '0805'},
            {from: '0806', to: '0905'},
            {from: '0906', to: '1005'},
            {from: '1006', to: '1105'},
            {from: '1106', to: '1205'},
            {from: '1206', to: '0105'}
        ]
    ],
    [//7日締
        [//前締
            {from: '1208', to: '0107'},
            {from: '0108', to: '0207'},
            {from: '0208', to: '0307'},
            {from: '0308', to: '0407'},
            {from: '0408', to: '0507'},
            {from: '0508', to: '0607'},
            {from: '0608', to: '0707'},
            {from: '0708', to: '0807'},
            {from: '0808', to: '0907'},
            {from: '0908', to: '1007'},
            {from: '1008', to: '1107'},
            {from: '1108', to: '1207'}
        ],
        [//後締
            {from: '0107', to: '0206'},
            {from: '0207', to: '0306'},
            {from: '0307', to: '0406'},
            {from: '0407', to: '0506'},
            {from: '0507', to: '0606'},
            {from: '0607', to: '0706'},
            {from: '0707', to: '0806'},
            {from: '0807', to: '0906'},
            {from: '0907', to: '1006'},
            {from: '1007', to: '1106'},
            {from: '1107', to: '1206'},
            {from: '1207', to: '0106'}
        ]
    ],
    [//8日締
        [//前締
            {from: '1209', to: '0108'},
            {from: '0109', to: '0208'},
            {from: '0209', to: '0308'},
            {from: '0309', to: '0408'},
            {from: '0409', to: '0508'},
            {from: '0509', to: '0608'},
            {from: '0609', to: '0708'},
            {from: '0709', to: '0808'},
            {from: '0809', to: '0908'},
            {from: '0909', to: '1008'},
            {from: '1009', to: '1108'},
            {from: '1109', to: '1208'}
        ],
        [//後締
            {from: '0108', to: '0207'},
            {from: '0208', to: '0307'},
            {from: '0308', to: '0407'},
            {from: '0408', to: '0507'},
            {from: '0508', to: '0607'},
            {from: '0608', to: '0707'},
            {from: '0708', to: '0807'},
            {from: '0808', to: '0907'},
            {from: '0908', to: '1007'},
            {from: '1008', to: '1107'},
            {from: '1108', to: '1207'},
            {from: '1208', to: '0107'}
        ]
    ],
    [//9日締
        [//前締
            {from: '1210', to: '0109'},
            {from: '0110', to: '0209'},
            {from: '0210', to: '0309'},
            {from: '0310', to: '0409'},
            {from: '0410', to: '0509'},
            {from: '0510', to: '0609'},
            {from: '0610', to: '0709'},
            {from: '0710', to: '0809'},
            {from: '0810', to: '0909'},
            {from: '0910', to: '1009'},
            {from: '1010', to: '1109'},
            {from: '1110', to: '1209'}
        ],
        [//後締
            {from: '0109', to: '0208'},
            {from: '0209', to: '0308'},
            {from: '0309', to: '0408'},
            {from: '0409', to: '0508'},
            {from: '0509', to: '0608'},
            {from: '0609', to: '0708'},
            {from: '0709', to: '0808'},
            {from: '0809', to: '0908'},
            {from: '0909', to: '1008'},
            {from: '1009', to: '1108'},
            {from: '1109', to: '1208'},
            {from: '1209', to: '0108'}
        ]
    ],
    [//10日締
        [//前締
            {from: '1211', to: '0110'},
            {from: '0111', to: '0210'},
            {from: '0211', to: '0310'},
            {from: '0311', to: '0410'},
            {from: '0411', to: '0510'},
            {from: '0511', to: '0610'},
            {from: '0611', to: '0710'},
            {from: '0711', to: '0810'},
            {from: '0811', to: '0910'},
            {from: '0911', to: '1010'},
            {from: '1011', to: '1110'},
            {from: '1111', to: '1210'}
        ],
        [//後締
            {from: '0110', to: '0209'},
            {from: '0210', to: '0309'},
            {from: '0310', to: '0409'},
            {from: '0410', to: '0509'},
            {from: '0510', to: '0609'},
            {from: '0610', to: '0709'},
            {from: '0710', to: '0809'},
            {from: '0810', to: '0909'},
            {from: '0910', to: '1009'},
            {from: '1010', to: '1109'},
            {from: '1110', to: '1209'},
            {from: '1210', to: '0109'}
        ]
    ],
    [//11日締
        [//前締
            {from: '1212', to: '0111'},
            {from: '0112', to: '0211'},
            {from: '0212', to: '0311'},
            {from: '0312', to: '0411'},
            {from: '0412', to: '0511'},
            {from: '0512', to: '0611'},
            {from: '0612', to: '0711'},
            {from: '0712', to: '0811'},
            {from: '0812', to: '0911'},
            {from: '0912', to: '1011'},
            {from: '1012', to: '1111'},
            {from: '1112', to: '1211'}
        ],
        [//後締
            {from: '0111', to: '0210'},
            {from: '0211', to: '0310'},
            {from: '0311', to: '0410'},
            {from: '0411', to: '0510'},
            {from: '0511', to: '0610'},
            {from: '0611', to: '0710'},
            {from: '0711', to: '0810'},
            {from: '0811', to: '0910'},
            {from: '0911', to: '1010'},
            {from: '1011', to: '1110'},
            {from: '1111', to: '1210'},
            {from: '1211', to: '0110'}
        ]
    ],
    [//12日締
        [//前締
            {from: '1213', to: '0112'},
            {from: '0113', to: '0212'},
            {from: '0213', to: '0312'},
            {from: '0313', to: '0412'},
            {from: '0413', to: '0512'},
            {from: '0513', to: '0612'},
            {from: '0613', to: '0712'},
            {from: '0713', to: '0812'},
            {from: '0813', to: '0912'},
            {from: '0913', to: '1012'},
            {from: '1013', to: '1112'},
            {from: '1113', to: '1212'}
        ],
        [//後締
            {from: '0112', to: '0211'},
            {from: '0212', to: '0311'},
            {from: '0312', to: '0411'},
            {from: '0412', to: '0511'},
            {from: '0512', to: '0611'},
            {from: '0612', to: '0711'},
            {from: '0712', to: '0811'},
            {from: '0812', to: '0911'},
            {from: '0912', to: '1011'},
            {from: '1012', to: '1111'},
            {from: '1112', to: '1211'},
            {from: '1212', to: '0111'}
        ]
    ],
    [//13日締
        [//前締
            {from: '1214', to: '0113'},
            {from: '0114', to: '0213'},
            {from: '0214', to: '0313'},
            {from: '0314', to: '0413'},
            {from: '0414', to: '0513'},
            {from: '0514', to: '0613'},
            {from: '0614', to: '0713'},
            {from: '0714', to: '0813'},
            {from: '0814', to: '0913'},
            {from: '0914', to: '1013'},
            {from: '1014', to: '1113'},
            {from: '1114', to: '1213'}
        ],
        [//後締
            {from: '0113', to: '0212'},
            {from: '0213', to: '0312'},
            {from: '0313', to: '0412'},
            {from: '0413', to: '0512'},
            {from: '0513', to: '0612'},
            {from: '0613', to: '0712'},
            {from: '0713', to: '0812'},
            {from: '0813', to: '0912'},
            {from: '0913', to: '1012'},
            {from: '1013', to: '1112'},
            {from: '1113', to: '1212'},
            {from: '1213', to: '0112'}
        ]
    ],
    [//14日締
        [//前締
            {from: '1215', to: '0114'},
            {from: '0115', to: '0214'},
            {from: '0215', to: '0314'},
            {from: '0315', to: '0414'},
            {from: '0415', to: '0514'},
            {from: '0515', to: '0614'},
            {from: '0615', to: '0714'},
            {from: '0715', to: '0814'},
            {from: '0815', to: '0914'},
            {from: '0915', to: '1014'},
            {from: '1015', to: '1114'},
            {from: '1115', to: '1214'}
        ],
        [//後締
            {from: '0114', to: '0213'},
            {from: '0214', to: '0313'},
            {from: '0314', to: '0413'},
            {from: '0414', to: '0513'},
            {from: '0514', to: '0613'},
            {from: '0614', to: '0713'},
            {from: '0714', to: '0813'},
            {from: '0814', to: '0913'},
            {from: '0914', to: '1013'},
            {from: '1014', to: '1113'},
            {from: '1114', to: '1213'},
            {from: '1214', to: '0113'}
        ]
    ],
    [//15日締
        [//前締
            {from: '1216', to: '0115'},
            {from: '0116', to: '0215'},
            {from: '0216', to: '0315'},
            {from: '0316', to: '0415'},
            {from: '0416', to: '0515'},
            {from: '0516', to: '0615'},
            {from: '0616', to: '0715'},
            {from: '0716', to: '0815'},
            {from: '0816', to: '0915'},
            {from: '0916', to: '1015'},
            {from: '1016', to: '1115'},
            {from: '1116', to: '1215'}
        ],
        [//後締
            {from: '0115', to: '0214'},
            {from: '0215', to: '0314'},
            {from: '0315', to: '0414'},
            {from: '0415', to: '0514'},
            {from: '0515', to: '0614'},
            {from: '0615', to: '0714'},
            {from: '0715', to: '0814'},
            {from: '0815', to: '0914'},
            {from: '0915', to: '1014'},
            {from: '1015', to: '1114'},
            {from: '1115', to: '1214'},
            {from: '1215', to: '0114'}
        ]
    ],
    [//16日締
        [//前締
            {from: '1217', to: '0116'},
            {from: '0117', to: '0216'},
            {from: '0217', to: '0316'},
            {from: '0317', to: '0416'},
            {from: '0417', to: '0516'},
            {from: '0517', to: '0616'},
            {from: '0617', to: '0716'},
            {from: '0717', to: '0816'},
            {from: '0817', to: '0916'},
            {from: '0917', to: '1016'},
            {from: '1017', to: '1116'},
            {from: '1117', to: '1216'}
        ],
        [//後締
            {from: '0116', to: '0215'},
            {from: '0216', to: '0315'},
            {from: '0316', to: '0415'},
            {from: '0416', to: '0515'},
            {from: '0516', to: '0615'},
            {from: '0616', to: '0715'},
            {from: '0716', to: '0815'},
            {from: '0816', to: '0915'},
            {from: '0916', to: '1015'},
            {from: '1016', to: '1115'},
            {from: '1116', to: '1215'},
            {from: '1216', to: '0115'}
        ]
    ],
    [//17日締
        [//前締
            {from: '1218', to: '0117'},
            {from: '0118', to: '0217'},
            {from: '0218', to: '0317'},
            {from: '0318', to: '0417'},
            {from: '0418', to: '0517'},
            {from: '0518', to: '0617'},
            {from: '0618', to: '0717'},
            {from: '0718', to: '0817'},
            {from: '0818', to: '0917'},
            {from: '0918', to: '1017'},
            {from: '1018', to: '1117'},
            {from: '1118', to: '1217'}
        ],
        [//後締
            {from: '0117', to: '0216'},
            {from: '0217', to: '0316'},
            {from: '0317', to: '0416'},
            {from: '0417', to: '0516'},
            {from: '0517', to: '0616'},
            {from: '0617', to: '0716'},
            {from: '0717', to: '0816'},
            {from: '0817', to: '0916'},
            {from: '0917', to: '1016'},
            {from: '1017', to: '1116'},
            {from: '1117', to: '1216'},
            {from: '1217', to: '0116'}
        ]
    ],
    [//18日締
        [//前締
            {from: '1219', to: '0118'},
            {from: '0119', to: '0218'},
            {from: '0219', to: '0318'},
            {from: '0319', to: '0418'},
            {from: '0419', to: '0518'},
            {from: '0519', to: '0618'},
            {from: '0619', to: '0718'},
            {from: '0719', to: '0818'},
            {from: '0819', to: '0918'},
            {from: '0919', to: '1018'},
            {from: '1019', to: '1118'},
            {from: '1119', to: '1218'}
        ],
        [//後締
            {from: '0118', to: '0217'},
            {from: '0218', to: '0317'},
            {from: '0318', to: '0417'},
            {from: '0418', to: '0517'},
            {from: '0518', to: '0617'},
            {from: '0618', to: '0717'},
            {from: '0718', to: '0817'},
            {from: '0818', to: '0917'},
            {from: '0918', to: '1017'},
            {from: '1018', to: '1117'},
            {from: '1118', to: '1217'},
            {from: '1218', to: '0117'}
        ]
    ],
    [//19日締
        [//前締
            {from: '1220', to: '0119'},
            {from: '0120', to: '0219'},
            {from: '0220', to: '0319'},
            {from: '0320', to: '0419'},
            {from: '0420', to: '0519'},
            {from: '0520', to: '0619'},
            {from: '0620', to: '0719'},
            {from: '0720', to: '0819'},
            {from: '0820', to: '0919'},
            {from: '0920', to: '1019'},
            {from: '1020', to: '1119'},
            {from: '1120', to: '1219'}
        ],
        [//後締
            {from: '0119', to: '0218'},
            {from: '0219', to: '0318'},
            {from: '0319', to: '0418'},
            {from: '0419', to: '0518'},
            {from: '0519', to: '0618'},
            {from: '0619', to: '0718'},
            {from: '0719', to: '0818'},
            {from: '0819', to: '0918'},
            {from: '0919', to: '1018'},
            {from: '1019', to: '1118'},
            {from: '1119', to: '1218'},
            {from: '1219', to: '0118'}
        ]
    ],
    [//20日締
        [//前締
            {from: '1221', to: '0120'},
            {from: '0121', to: '0220'},
            {from: '0221', to: '0320'},
            {from: '0321', to: '0420'},
            {from: '0421', to: '0520'},
            {from: '0521', to: '0620'},
            {from: '0621', to: '0720'},
            {from: '0721', to: '0820'},
            {from: '0821', to: '0920'},
            {from: '0921', to: '1020'},
            {from: '1021', to: '1120'},
            {from: '1121', to: '1220'}
        ],
        [//後締
            {from: '0120', to: '0219'},
            {from: '0220', to: '0319'},
            {from: '0320', to: '0419'},
            {from: '0420', to: '0519'},
            {from: '0520', to: '0619'},
            {from: '0620', to: '0719'},
            {from: '0720', to: '0819'},
            {from: '0820', to: '0919'},
            {from: '0920', to: '1019'},
            {from: '1020', to: '1119'},
            {from: '1120', to: '1219'},
            {from: '1220', to: '0119'}
        ]
    ],
    [//21日締
        [//前締
            {from: '1222', to: '0121'},
            {from: '0122', to: '0221'},
            {from: '0222', to: '0321'},
            {from: '0322', to: '0421'},
            {from: '0422', to: '0521'},
            {from: '0522', to: '0621'},
            {from: '0622', to: '0721'},
            {from: '0722', to: '0821'},
            {from: '0822', to: '0921'},
            {from: '0922', to: '1021'},
            {from: '1022', to: '1121'},
            {from: '1122', to: '1221'}
        ],
        [//後締
            {from: '0121', to: '0220'},
            {from: '0221', to: '0320'},
            {from: '0321', to: '0420'},
            {from: '0421', to: '0520'},
            {from: '0521', to: '0620'},
            {from: '0621', to: '0720'},
            {from: '0721', to: '0820'},
            {from: '0821', to: '0920'},
            {from: '0921', to: '1020'},
            {from: '1021', to: '1120'},
            {from: '1121', to: '1220'},
            {from: '1221', to: '0120'}
        ]
    ],
    [//22日締
        [//前締
            {from: '1223', to: '0122'},
            {from: '0123', to: '0222'},
            {from: '0223', to: '0322'},
            {from: '0323', to: '0422'},
            {from: '0423', to: '0522'},
            {from: '0523', to: '0622'},
            {from: '0623', to: '0722'},
            {from: '0723', to: '0822'},
            {from: '0823', to: '0922'},
            {from: '0923', to: '1022'},
            {from: '1023', to: '1122'},
            {from: '1123', to: '1222'}
        ],
        [//後締
            {from: '0122', to: '0221'},
            {from: '0222', to: '0321'},
            {from: '0322', to: '0421'},
            {from: '0422', to: '0521'},
            {from: '0522', to: '0621'},
            {from: '0622', to: '0721'},
            {from: '0722', to: '0821'},
            {from: '0822', to: '0921'},
            {from: '0922', to: '1021'},
            {from: '1022', to: '1121'},
            {from: '1122', to: '1221'},
            {from: '1222', to: '0121'}
        ]
    ],
    [//23日締
        [//前締
            {from: '1224', to: '0123'},
            {from: '0124', to: '0223'},
            {from: '0224', to: '0323'},
            {from: '0324', to: '0423'},
            {from: '0424', to: '0523'},
            {from: '0524', to: '0623'},
            {from: '0624', to: '0723'},
            {from: '0724', to: '0823'},
            {from: '0824', to: '0923'},
            {from: '0924', to: '1023'},
            {from: '1024', to: '1123'},
            {from: '1124', to: '1223'}
        ],
        [//後締
            {from: '0123', to: '0222'},
            {from: '0223', to: '0322'},
            {from: '0323', to: '0422'},
            {from: '0423', to: '0522'},
            {from: '0523', to: '0622'},
            {from: '0623', to: '0722'},
            {from: '0723', to: '0822'},
            {from: '0823', to: '0922'},
            {from: '0923', to: '1022'},
            {from: '1023', to: '1122'},
            {from: '1123', to: '1222'},
            {from: '1223', to: '0122'}
        ]
    ],
    [//24日締
        [//前締
            {from: '1225', to: '0124'},
            {from: '0125', to: '0224'},
            {from: '0225', to: '0324'},
            {from: '0325', to: '0424'},
            {from: '0425', to: '0524'},
            {from: '0525', to: '0624'},
            {from: '0625', to: '0724'},
            {from: '0725', to: '0824'},
            {from: '0825', to: '0924'},
            {from: '0925', to: '1024'},
            {from: '1025', to: '1124'},
            {from: '1125', to: '1224'}
        ],
        [//後締
            {from: '0124', to: '0223'},
            {from: '0224', to: '0323'},
            {from: '0324', to: '0423'},
            {from: '0424', to: '0523'},
            {from: '0524', to: '0623'},
            {from: '0624', to: '0723'},
            {from: '0724', to: '0823'},
            {from: '0824', to: '0923'},
            {from: '0924', to: '1023'},
            {from: '1024', to: '1123'},
            {from: '1124', to: '1223'},
            {from: '1224', to: '0123'}
        ]
    ],
    [//25日締
        [//前締
            {from: '1226', to: '0125'},
            {from: '0126', to: '0225'},
            {from: '0226', to: '0325'},
            {from: '0326', to: '0425'},
            {from: '0426', to: '0525'},
            {from: '0526', to: '0625'},
            {from: '0626', to: '0725'},
            {from: '0726', to: '0825'},
            {from: '0826', to: '0925'},
            {from: '0926', to: '1025'},
            {from: '1026', to: '1125'},
            {from: '1126', to: '1225'}
        ],
        [//後締
            {from: '0125', to: '0224'},
            {from: '0225', to: '0324'},
            {from: '0325', to: '0424'},
            {from: '0425', to: '0524'},
            {from: '0525', to: '0624'},
            {from: '0625', to: '0724'},
            {from: '0725', to: '0824'},
            {from: '0825', to: '0924'},
            {from: '0925', to: '1024'},
            {from: '1025', to: '1124'},
            {from: '1125', to: '1224'},
            {from: '1225', to: '0124'}
        ]
    ],
    [//26日締
        [//前締
            {from: '1227', to: '0126'},
            {from: '0127', to: '0226'},
            {from: '0227', to: '0326'},
            {from: '0327', to: '0426'},
            {from: '0427', to: '0526'},
            {from: '0527', to: '0626'},
            {from: '0627', to: '0726'},
            {from: '0727', to: '0826'},
            {from: '0827', to: '0926'},
            {from: '0927', to: '1026'},
            {from: '1027', to: '1126'},
            {from: '1127', to: '1226'}
        ],
        [//後締
            {from: '0126', to: '0225'},
            {from: '0226', to: '0325'},
            {from: '0326', to: '0425'},
            {from: '0426', to: '0525'},
            {from: '0526', to: '0625'},
            {from: '0626', to: '0725'},
            {from: '0726', to: '0825'},
            {from: '0826', to: '0925'},
            {from: '0926', to: '1025'},
            {from: '1026', to: '1125'},
            {from: '1126', to: '1225'},
            {from: '1226', to: '0125'}
        ]
    ],
    [//27日締
        [//前締
            {from: '1228', to: '0127'},
            {from: '0128', to: '0227'},
            {from: '0228', to: '0327'},
            {from: '0328', to: '0427'},
            {from: '0428', to: '0527'},
            {from: '0528', to: '0627'},
            {from: '0628', to: '0727'},
            {from: '0728', to: '0827'},
            {from: '0828', to: '0927'},
            {from: '0928', to: '1027'},
            {from: '1028', to: '1127'},
            {from: '1128', to: '1227'}
        ],
        [//後締
            {from: '0127', to: '0226'},
            {from: '0227', to: '0326'},
            {from: '0327', to: '0426'},
            {from: '0427', to: '0526'},
            {from: '0527', to: '0626'},
            {from: '0627', to: '0726'},
            {from: '0727', to: '0826'},
            {from: '0827', to: '0926'},
            {from: '0927', to: '1026'},
            {from: '1027', to: '1126'},
            {from: '1127', to: '1226'},
            {from: '1227', to: '0126'}
        ]
    ],
    [//28日締
        [//前締
            {from: '1229', to: '0128'},
            {from: '0129', to: '0228', leapTo: '0229'},
            {from: '0301', to: '0328'},
            {from: '0329', to: '0428'},
            {from: '0429', to: '0528'},
            {from: '0529', to: '0628'},
            {from: '0629', to: '0728'},
            {from: '0729', to: '0828'},
            {from: '0829', to: '0928'},
            {from: '0929', to: '1028'},
            {from: '1029', to: '1128'},
            {from: '1129', to: '1228'}
        ],
        [//後締
            {from: '0128', to: '0227'},
            {from: '0228', to: '0327'},
            {from: '0328', to: '0427'},
            {from: '0428', to: '0527'},
            {from: '0528', to: '0627'},
            {from: '0628', to: '0727'},
            {from: '0728', to: '0827'},
            {from: '0828', to: '0927'},
            {from: '0928', to: '1027'},
            {from: '1028', to: '1127'},
            {from: '1128', to: '1227'},
            {from: '1228', to: '0127'}
        ]
    ],
    [//29日締
        [//前締
            {from: '1230', to: '0129'},
            {from: '0130', to: '0228', leapTo: '0229'},
            {from: '0301', to: '0329'},
            {from: '0330', to: '0429'},
            {from: '0430', to: '0529'},
            {from: '0530', to: '0629'},
            {from: '0630', to: '0729'},
            {from: '0730', to: '0829'},
            {from: '0830', to: '0929'},
            {from: '0930', to: '1029'},
            {from: '1030', to: '1129'},
            {from: '1130', to: '1229'}
        ],
        [//後締
            {from: '0129', to: '0228', leapTo: '0229'},
            {from: '0301', to: '0328'},
            {from: '0329', to: '0428'},
            {from: '0429', to: '0528'},
            {from: '0529', to: '0628'},
            {from: '0629', to: '0728'},
            {from: '0729', to: '0828'},
            {from: '0829', to: '0928'},
            {from: '0929', to: '1028'},
            {from: '1029', to: '1128'},
            {from: '1129', to: '1228'},
            {from: '1229', to: '0128'}
        ]
    ],
    [//30日締
        [//前締
            {from: '1231', to: '0130'},
            {from: '0131', to: '0228', leapTo: '0229'},
            {from: '0301', to: '0330'},
            {from: '0331', to: '0430'},
            {from: '0501', to: '0530'},
            {from: '0531', to: '0630'},
            {from: '0701', to: '0730'},
            {from: '0731', to: '0830'},
            {from: '0831', to: '0930'},
            {from: '1001', to: '1030'},
            {from: '1031', to: '1130'},
            {from: '1201', to: '1230'}
        ],
        [//後締
            {from: '0130', to: '0228', leapTo: '0229'},
            {from: '0301', to: '0329'},
            {from: '0330', to: '0429'},
            {from: '0430', to: '0529'},
            {from: '0530', to: '0629'},
            {from: '0630', to: '0729'},
            {from: '0730', to: '0829'},
            {from: '0830', to: '0929'},
            {from: '0930', to: '1029'},
            {from: '1030', to: '1129'},
            {from: '1130', to: '1229'},
            {from: '1230', to: '0129'}
        ]
    ],
    [//31日締
        [//前締
            {from: '0101', to: '0131'},
            {from: '0201', to: '0228', leapTo: '0229'},
            {from: '0301', to: '0331'},
            {from: '0401', to: '0430'},
            {from: '0501', to: '0531'},
            {from: '0601', to: '0630'},
            {from: '0701', to: '0731'},
            {from: '0801', to: '0831'},
            {from: '0901', to: '0930'},
            {from: '1001', to: '1031'},
            {from: '1101', to: '1130'},
            {from: '1201', to: '1231'}
        ],
        [//後締
            {from: '0131', to: '0228', leapTo: '0229'},
            {from: '0301', to: '0330'},
            {from: '0331', to: '0430'},
            {from: '0501', to: '0530'},
            {from: '0531', to: '0630'},
            {from: '0701', to: '0730'},
            {from: '0731', to: '0830'},
            {from: '0831', to: '0930'},
            {from: '1001', to: '1030'},
            {from: '1031', to: '1130'},
            {from: '1201', to: '1230'},
            {from: '1231', to: '0130'}
        ]
    ]
];

cutoffDayInfo[99] = [//末日締
    [//前締
        {from: '0101', to: '0131'},
        {from: '0201', to: '0228', leapTo: '0229'},
        {from: '0301', to: '0331'},
        {from: '0401', to: '0430'},
        {from: '0501', to: '0531'},
        {from: '0601', to: '0630'},
        {from: '0701', to: '0731'},
        {from: '0801', to: '0831'},
        {from: '0901', to: '0930'},
        {from: '1001', to: '1031'},
        {from: '1101', to: '1130'},
        {from: '1201', to: '1231'}
    ],
    [//後締
        {from: '0131', to: '0228', leapTo: '0229'},
        {from: '0301', to: '0330'},
        {from: '0331', to: '0430'},
        {from: '0501', to: '0530'},
        {from: '0531', to: '0630'},
        {from: '0701', to: '0730'},
        {from: '0731', to: '0830'},
        {from: '0831', to: '0930'},
        {from: '1001', to: '1030'},
        {from: '1031', to: '1130'},
        {from: '1201', to: '1230'},
        {from: '1231', to: '0130'}
    ]
];


//出力
console.log(getCutoffDate(cutoffDayInfo, {
    type: 'years',
    year: 2015,
    yearFrom: 1995,
    month: 6,
    cutoffDay: 31,
    cutoffDayFlag: 0,
    cutoffMonth: 12,
    cutoffMonthFlag: 0
}));


/**
 * 月次締・年次締の開始・終了日を取得
 * @param  {object} 締日情報
 * @param  {object} 関数に渡すオプション
 *   @prop {string} - type [mon] 月次 [year] 年次 [years] 複数年次
 *   @prop {number} - year 何年度
 *   @prop {number} - yearFrom ※複数年次のとき使用
 *   @prop {number} - month 何月度
 *   @prop {number} - coutoffDay 締日
 *   @prop {number} - cutoffDayFlag [0] 月次前締 [1] 月次後締
 *   @prop {number} - cutoffMonth 締月 ※年次、複数年次のとき
 *   @prop {number} - cutoffMonthFlag [0] 年次前締 [1] 年次後締 ※年次、複数年次のとき使用
 * @return {object} 開始終了日の情報
 *   @prop {string} - dateFrom 開始日
 *   @prop {string} - dateFo   終了日
 */
function getCutoffDate(data, option){
    var type = option.type;
    var year = option.year;
    var yearFrom = option.yearFrom;
    var yearTo = null;
    var month = option.month;
    var cutoffDay = option.cutoffDay;
    var cutoffDayFlag = option.cutoffDayFlag;
    var cutoffMonth = option.cutoffMonth;
    var cutoffMonthFlag = option.cutoffMonthFlag;

    var dateFrom; var dateTo; var isLeap;

    switch(type){
        case 'mon': //月次
            //*****開始日の処理*****

            if(cutoffDay !== 99){
                //締日が末日以外のとき
                dateFrom = data[cutoffDay-1][cutoffDayFlag][month-1].from;
            } else {
                //締日が末日のとき
                dateFrom = data[cutoffDay][cutoffDayFlag][month-1].from;
            }

            //fromが12月のとき前年
            yearFrom = year;
            if(dateFrom.substr(0, 2) === '12' && month === 1){
                yearFrom--;
            }

            //開始年の閏年判定
            isLeap = (new Date(yearFrom, 1, 29).getMonth() === 1) ? true : false;

            //閏年で開始日に閏年がかかわる場合日付を差し替え
            if(cutoffDay !== 99){
                //締日が末日以外のとき
                if(isLeap && data[cutoffDay-1][cutoffDayFlag][month-1].leapFrom !== void 0){
                    dateFrom = data[cutoffDay-1][cutoffDayFlag][month-1].leapFrom;
                }
            } else {
                //締日が末日のとき
                if(isLeap && data[cutoffDay][cutoffDayFlag][month-1].leapFrom !== void 0){
                    dateFrom = data[cutoffDay][cutoffDayFlag][month-1].leapFrom;
                }
            }
            //開始日の年月を連結
            dateFrom = String(yearFrom) + dateFrom

            //*****終了日の処理*****

            if(cutoffDay !== 99){
                dateTo = data[cutoffDay-1][cutoffDayFlag][month-1].to;
            } else {
                dateTo = data[cutoffDay][cutoffDayFlag][month-1].to;
            }

            var yearTo = year;
            //toが1月のとき次年
            if(dateTo.substr(0, 2) === '01' && month === 12){
                yearTo++;
            }

            //終了年の閏年判定
            isLeap = (new Date(yearTo, 1, 29).getMonth() === 1) ? true : false;

            //閏年で開始日に閏年がかかわる場合日付を差し替え
            if(cutoffDay !== 99){
                //締日が末日以外のとき
                if(isLeap && data[cutoffDay-1][cutoffDayFlag][month-1].leapTo !== void 0){
                    dateTo = data[cutoffDay-1][cutoffDayFlag][month-1].leapTo;
                }
            } else {
                //締日が末日のとき
                if(isLeap && data[cutoffDay][cutoffDayFlag][month-1].leapTo !== void 0){
                    dateTo = data[cutoffDay][cutoffDayFlag][month-1].leapTo;
                }
            }
            //終了日の年月を連結
            dateTo = String(yearTo) + dateTo

            break;
        case 'year': //年次
        case 'years': //複数年次

            //年次の前締のときだけ次月のデータを取得
            if(cutoffMonthFlag === 0){
                //console.log('年次前締');

                if(cutoffMonth === 12){
                    //12月のときは1月のデータを取得
                    month = 1;
                } else {
                    //12月以外のときは次月のデータを取得
                    month = cutoffMonth+1;
                }

            } else {
                //年次の後締のときは締月と同じ月のデータを取得
                //console.log('年次後締');

                month = cutoffMonth;
            }

            //開始日をセット
            if(cutoffDay !== 99){
                dateFrom = data[cutoffDay-1][cutoffDayFlag][month-1].from;
            } else {
                dateFrom = data[cutoffDay][cutoffDayFlag][month-1].from;
            }

            //年次の終了日は前月次締の最終日となる
            var endMonth;
            if(month === 1){
                endMonth = 12;
            } else {
                endMonth = month -1;
            }
            //終了日をセット
            if(cutoffDay !== 99){
                dateTo = data[cutoffDay-1][cutoffDayFlag][endMonth-1].to;
            } else {
                dateTo = data[cutoffDay][cutoffDayFlag][endMonth-1].to;
            }

            if(type === 'year'){
                //年次のとき

                //開始年をセット
                yearFrom = year;
                //終了日が12月31日のとき以外は開始年を減らす
                if(dateTo !== '1231'){
                    yearFrom--;
                }
            } else {
                //複数年次のとき ※複数年次は引数で渡されるyearFromを開始年、yearを終了年とする
                if(dateTo !== '1231' && yearFrom === year){
                    yearFrom--;
                }
            }

            //開始年の閏年判定
            isLeap = (new Date(yearFrom, 1, 29).getMonth() === 1) ? true : false;
            //閏年で開始日に閏年がかかわる場合日付を差し替え
            if(isLeap && data[cutoffDay-1][cutoffDayFlag][month-1].leapFrom !== void 0){
                if(cutoffDay !== 99){
                    dateFrom = data[cutoffDay-1][cutoffDayFlag][month-1].leapFrom;
                } else {
                    dateFrom = data[cutoffDay][cutoffDayFlag][month-1].leapFrom;
                }

            }

            //開始日の年月を連結
            dateFrom = String(yearFrom) + dateFrom;

            //終了年をセット
            yearTo = year;

            //終了年の閏年判定
            isLeap = (new Date(yearTo, 1, 29).getMonth() === 1) ? true : false;
            //閏年で終了日に閏年がかかわる場合日付を差し替え
            if(isLeap && data[cutoffDay-1][cutoffDayFlag][endMonth-1].leapTo !== void 0){
                if(cutoffDay !== 99){
                    dateTo = data[cutoffDay-1][cutoffDayFlag][endMonth-1].leapTo;
                } else {
                    dateTo = data[cutoffDay][cutoffDayFlag][endMonth-1].leapTo;
                }
            }

            //終了日の年月を連結
            dateTo = String(yearTo) + dateTo;

            break;
    }

    return {
        dateFrom: dateFrom,
        dateTo: dateTo
    }

}


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0