bootstrap datetimepicker日期插件使用方法

1.github下载资源包  http://www.bootcss.com/p/bootstrap-datetimepicker/

2.引入bootstrap-datetimepicker.min.css和bootstrap-datetimepicker.min.js 

3.中文包  bootstrap-datetimepicker.zh-CN.js

  html

    <input  name="entryDate" placeholder="请选择入职日期" id="blrz-entry-date-start" type="text" >

  js  

    $("#blrz-entry-date-start").datetimepicker({//选择年月日
      format: 'yyyy-mm-dd',
      language: 'zh-CN',
      weekStart: 1,
      todayBtn: 1,//显示‘今日’按钮
      autoclose: 1,
      todayHighlight: 1,
      startView: 2,
      minView: 2,  //Number, String. 默认值:0, 'hour',日期时间选择器所能够提供的最精确的时间选择视图。

      clearBtn:true,//清除按钮

      forceParse: 0
    });

    //选择年月的       startView: 3,   minView: 3, format: 'yyyymm',
    //选择年的       startView: 4,   minView: 4, format: 'yyyy',
 

  补: 可将input设设置为不可用状态 

    $('#blrz-entry-date-start').focus(function(){
      $(this).blur();//不可输入状态
    })

    **无论format如何定义,都可取到时间格式

    $('#add-dateTime').datetimepicker('getDate').getTime()

  /*************************************************************************************************************/

//通过入职日期改变劳动合同截止日期(后者在前者的基础上加2年)

  <input  name="entryDate" placeholder="入职日期" id="blrz-entry-date-start" type="text" >

  <input  name="entryDate" placeholder="合同截止日期" id="blrz-entry-date-end" type="text" >


$("#blrz-entry-date-start").on('change',function(){
  var thisEntryDate = $("#blrz-entry-date-start").val();
  if(thisEntryDate != ''){
    thisEntryDate = thisEntryDate.replace(/-/g,"/");
    var normalDate = new Date(thisEntryDate);//转为标准时间格式
    normalDate.setFullYear(normalDate.getFullYear()+2);//将年份加两年
    var formatDateTime = function (date) {
      var y = date.getFullYear();
      var m = date.getMonth() + 1;
      m = m < 10 ? '0' + m : m;
      var d = date.getDate();
      d = d < 10 ? ('0' + d) : d;
      return y + '-' + m + '-' + d;
    };
    var forContract_deadline = formatDateTime(normalDate)
    $("#blrz-entry-date-end").val(forContract_deadline)
  }
})
//通过入职日期改变劳动合同截止日期end

/*************************************************************************************************************/

初始化日期为当前时间

先提供几个公共函数,供格式化日期使用

Date.prototype.format = function(fmt) {
  var o = {
    "M+" : this.getMonth()+1, //月份
    "d+" : this.getDate(), //日
    "h+" : this.getHours(), //小时
    "m+" : this.getMinutes(), //分
    "s+" : this.getSeconds(), //秒
    "q+" : Math.floor((this.getMonth()+3)/3), //季度
    "S" : this.getMilliseconds() //毫秒
  };
  if(/(y+)/.test(fmt)) {
    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  }
  for(var k in o) {
     if(new RegExp("("+ k +")").test(fmt)){
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
    }
  }
return fmt;
}

function getDate(strDate){
  if(strDate && strDate!=""){
    var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/, function (a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')');
    return date;
  }
return undefined;
}

function formatDate(date, fmt){
  var format = fmt || "yyyy-MM-dd hh:mm:ss";
  if(date instanceof Date){
    return date.format(format);
  }else if(typeof date == 'string'){
    var d = getDate(date);
    if(d){
      return d.format(format);
    }
         return '';
  }else{
    return date;
  }
}

$("#blrz-entry-date-start").val('2017-10-01');

此时虽然功能实现了 但你会发现

  时间果断回到1899年

  解决办法:

  var thisNow = new Date();
  thisNow.setMonth(thisNow.getMonth()-1);

 

  $('#blrz-entry-date-start').datetimepicker('update',formatDate(thisNow,'yyyy-MM-dd'));

  然后呢,请看效果

  

  大功告成!!

 

posted @ 2017-07-11 19:29  adolfvicto  阅读(39439)  评论(0编辑  收藏  举报