bootstrap-datetimepicker

引入
<link href="/static/datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet" media="screen">
    <script src="/static/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
    <script src="/static/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"></script>
初始化
//初始化日期参数
$('.form_date').datetimepicker({
    language:  'zh-CN',
    weekStart: 1,               //一周从哪一天开始
    autoclose : true,           //选完时间后是否自动关闭
    todayHighlight: 1,          //当天日期高亮
    startView: 3,               //最高显示到年份
    minView: 3,                 //最低显示到月
    forceParse: 0,
    format: 'yyyy-mm',              //时间格式
    //startDate:new Date(),           //这个时间之前的不能再选择
    //endDate:new Date(),             //这个时间后面的不能再选择
}).on('changeDate',function (e) {
    //todo 选择日期后的事件
    console.log(e.date.valueOf());
    var time = e.date.valueOf();
    var t = getNowFormatDt(time);
    var d = getCountDays(t);
    //var days = getCountDays(strTday);
    //initR(strTday,days);

    console.log(d);
});
日期转换
/*获取当前月的天数 */
function getCountDays(date) {
    var arr = date.split('-');
    var year = arr[0]; //获取当前日期的年份
    var month = arr[1]; //获取当前日期的月份
    var day = new Date(year, month, 0);
    days = day.getDate(); //获取当前日期中月的天数
    return days;
}
/**
 * 获取上一个月
 * @date 格式为yyyy-mm的日期
 */
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) {
        year2 = parseInt(year2) - 1;
        month2 = 12;
    }
    var day2 = day;
    var days2 = new Date(year2, month2, 0);
    days2 = days2.getDate();
    if (day2 > days2) {
        day2 = days2;
    }
    if (month2 < 10) {
        month2 = '0' + month2;
    }
    var t2 = year2 + '-' + month2;
    return [t2,days2];
}
/**
 * 获取下一个月
 * @date 格式为yyyy-mm的日期
 */
function getNextMonth(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 == 13) {
        year2 = parseInt(year2) + 1;
        month2 = 1;
    }
    var day2 = day;
    var days2 = new Date(year2, month2, 0);
    days2 = days2.getDate();
    if (day2 > days2) {
        day2 = days2;
    }
    if (month2 < 10) {
        month2 = '0' + month2;
    }

    var t2 = year2 + '-' + month2;
    return [t2,days2];
}
//获取当前时间 并格式化为YYYY-MM
function getNowFormatDt(time) {
    var date = new Date(time);
    var seperator1 = "-";
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    var currentdate = year + seperator1 + month;
    return currentdate;
}
//获取时间 并格式化为YYYY-MM-DD
function getNowFormatDate(strDate) {
    var date = new Date();
    var seperator1 = "-";
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    //var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    var currentdate = year + seperator1 + month + seperator1 + strDate;
    return currentdate;
}

原文地址:https://www.cnblogs.com/caibaotimes/p/13886149.html