1. 程式人生 > 實用技巧 >bootstrap-datetimepicker

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;
}