bootstrap的datetimepicker使用(1.将默认的英文设置为中文2.选择日月年的时候记录之前的操作)

摘要:
todayDate){vartoday=newDate();}vartoday Y=todayDate.getFullYear();vartodayM=todayDate.getMonth()+1;vartodayD=todayDate.getDate();varhour=todayDate.getHours();varminutes=todayDate.getMinutes();返回今天Y+“-”add0+“-”+add0+”+add0+“-“+add0;}//填充零函数add0{if{return“0”+o;}else{return o;}}科华的原始角色管理(如下图所示)//1。日期限制只能在当前日期//2之后选择。第一个日期必须在第二个日期之前,相反,第二个必须在第一个函数initTimeFormat{varstrFormat='';$.datetimepicker;strFormat=“month”&&“yyyy-mm-dd”;$.ddatetimepicker.on;}张帆的版本之后,新项目使用函数initTimeFormat{format1=!!

参考网页    bootstrap datepicker 属性设置 以及方法和事件

1.如何将bootstrap的datepicker默认的英文设置为中文

  第一步,新建一个js文件(bootstrap-datetimepicker.zh-CN.js)内容为如下

    $.fn.datetimepicker.dates['zh'] = {
            days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"],
            daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
            daysMin:  ["日", "一", "二", "三", "四", "五", "六", "日"],
            months: ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],
            monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
            today: "今天",
            suffix: [],
            meridiem: ["上午", "下午"]
    };

  第二步:将将建立好的js文件加载;注意一定要加载到datepicker.js的后面,不然会报错,报dates对象找不到

  第三步:设置参数:

html:

        <div class="row">
            <form action="" class="form-inline">
                <div class="form-group">
                    <label for="startDate">时间</label>
                    <input type="text"     name="startDate">
                </div>
                <div class="form-group">
                    <label for="startDate">至</label>
                    <input type="text"     name="endDate">
                </div>
            </form>
        </div>

js:

    $(document).ready(function(){
        tabToggle();
        renderStationTree();
        //初始化开始和结束时间
        initTimeFormate('startDate','month');
        initTimeFormate('endDate','month');
    });
    function initTimeFormate(id,timeFlag){
        var strFormat = '';
        $('#' + id).datetimepicker('remove');
        strFormat = (timeFlag === 'month' && 'yyyy-mm-dd') || (timeFlag === 'year' && 'yyyy-mm') || (timeFlag === 'decade' && 'yyyy')|| (timeFlag === 'day' && 'yyyy-mm-dd hh')|| (timeFlag === 'hour' && 'yyyy-mm-dd hh:ii');
        $('#' + id).datetimepicker({
            autoclose: 1, 
            language:'zh',//注意此处要与函数名对应
            format:strFormat,
            todayHighlight: 1,
            startView: 2,
            minView: timeFlag
        }).on("click",function(){
            $('#' + id).datetimepicker('show');//这里要加,不然第一次点击输入框之后,鼠标移开,第二次点击输入框不会出现,造成不好的体验
        }).on('changeDate',function(ev){
            var val=$('#' + id).val();
            var oper=id=='startDate'?'setStartDate':'setEndDate';
            var ele=id=='startDate'?$("#endDate"):$("#startDate");         
            ele.datetimepicker(oper,val);//设置起始和结束时间,开始的就设置结束时间,结束的就设置开始时间,从而限制用户的输入
            $('#' + id).datetimepicker('hide');
        });        
    }

 注意:在使用内嵌的日期时间,获取时间的方法

        $("#"+id).datetimepicker({
            
        }).on('changeDate',function(ev){
            var _date=ev.date;//此处可以获取对象
            pickTime=today(_date);
        })
    //需要的时间格式
        function today(todayDate){
            if(!todayDate){
                var today=new Date();
            }
            var todayY=todayDate.getFullYear();
            var todayM=todayDate.getMonth()+1;
            var todayD=todayDate.getDate();
            var hour=todayDate.getHours();
            var minutes=todayDate.getMinutes();
            return todayY+"-"add0(todayM)+"-"+add0(todayD)+""add0(hour)+"-"+add0(minutes);
        }
    //补零
        fucntion add0(o){
            if(o<10&&String(o).length==1){
                return "0"+o;
            }else{
                return o;
            }
        }

科华原始的角色管理用的(如下图)

bootstrap的datetimepicker使用(1.将默认的英文设置为中文2.选择日月年的时候记录之前的操作)第1张

//1.日期限定只能选择在当天日期之后,
//2.第一个日期必须在第二个之前,相反第二个必须在第一个之后
    function initTimeFormate(id){
        var strFormat = '';
        $('#' + id).datetimepicker('remove');
        strFormat="month"&&"yyyy-mm-dd";
        $('#' + id).datetimepicker({
            autoclose: 1, 
            language:'zh',//注意此处要与函数名对应
            format:strFormat,
            startDate:new Date();
            todayHighlight: 1,
            startView: 2,
            minView: "month"
        }).on("click",function(){
            $('#' + id).datetimepicker('show');//这里要加,不然第一次点击输入框之后,鼠标移开,第二次点击输入框不会出现,造成不好的体验
        });        
    }

张凡的版本,新的项目用的

    function initTimeFormate(format1,format2,view,end){
        format1=!!format1?format1:"yyyy-MM";
        format2=!!format1?format1:"yyyy-MM";
        view=!!view?view:3//设置显示的是年月日时等
        var selector=$("#systemtime");//id
        select.datetimepicker('remove');
        strFormat="month"&&"yyyy-mm-dd";
        selector.datetimepicker({
            language:'zh',//注意此处要与函数名对应
            format:format1,
            autoclose: true, 
            startView: view,
            minView: "month"
        }).on("click",function(){
            selector.datetimepicker('show');//这里要加,不然第一次点击输入框之后,鼠标移开,第二次点击输入框不会出现,造成不好的体验
        }).on("changeDate",function(){
            
        }); 
        selector.val(new Date().Format(format2));
    }

自己写的版本(两个时间操作,开始和结束时间)年月日的版本

1、可以根据选择的时间限制开始和结束时间

2、开始时间默认小于结束时间10天

/**
 * 初始化时间插件
 */
function initTimeFormate(format1, format2, view, end) {
    format1 = !!format1 ? format1 : "yyyy-mm-dd";
    format2 = !!format2 ? format2 : "yyyy-MM-dd";
    view = !!view ? view : 2;
    var selector = end ? $("#systemtime_end") : $("#systemtime");
    selector.datetimepicker('remove');
    selector.datetimepicker({
        language:"zh",
        format: format1,
        autoclose: true,
        startView: view,
        minView: end ? 2 : view
    }).on("click", function () {
        selector.datetimepicker('show');
    }).off("changeDate").on("changeDate",function(ev){//这里一定要加上off取消绑定,不然在切换日月年后再点击会触发多次changeDate
        var id=$(ev.target).attr("id");
        var time=ev.date.Format("yyyy-MM-dd")
        if(id=="systemtime"){
            $("#systemtime_end").datetimepicker("setStartDate",time)
        }else{
            $("#systemtime").datetimepicker("setEndDate",time)
        }
    });
    if(end){
        var _date= new Date().Format(format2);
        //往前面减十天组成的数组
        var sevenDate=getSubSeven(_date,10);
        selector.val(new Date().Format(format2));
        $("#systemtime").val(sevenDate[sevenDate.length-1]);
    }
}

  自己写的版本demo3用,单个时间操作

1、可以记录点击日月年用户的时间操作

思路:定义一个全局的变量timeObj

timeObj{
    day:'',
    month:'',
    year:''
}

点击的时候,判断当前是年月日,将值保存到变量中

初始化的时候,默认是当前电脑时间的年月日

赋值的时候就从timeObj中取

附上代码:

/**
 * @desc 初始化时间插件(单个时间)
 * @param {*} format1 插件用的时间类型
 * @param {*} format2 时间序列化用的
 * @param {*} view 插件属性
 * @param {*} end 是否有结束时间
 * @param {*} type 当前是否为日月年
 */
function initTimeFormate(format1, format2, view, end,type) {
    format1 = !!format1 ? format1 : "yyyy-mm-dd";
    format2 = !!format2 ? format2 : "yyyy-MM-dd";
    view = !!view ? view : 2;
    var selector = end ? $("#systemtime_end") : $("#systemtime");
    selector.datetimepicker('remove');
    selector.datetimepicker({
        language:"zh",
        format: format1,
        autoclose: true,
        startView: view,
        minView: end ? 2 : view
    }).on("click", function () {
        selector.datetimepicker('show');
    }).off("changeDate").on("changeDate",{param:format2},function(ev){
        //获取当前激活的日期类型 日/月/年
        var id=$(ev.target).attr("id");
        var t=$(".switch-change>.cur").index(),m="";
        m=t==0?"day":t==1?"month":"year";
        console.log(m);
        var p=ev.data.param;
        timeObj[m]=ev.date.Format(p);
        swithData();
        console.log(timeObj);
    });
    //如果是第一次初始化时间的时候,就保存年月日
    if(type===undefined){
        timeObj.day=new Date().Format("yyyy-MM-dd");
        timeObj.month=new Date().Format("yyyy-MM");
        timeObj.year=new Date().Format("yyyy");
        type="day"
    }
    selector.val(timeObj[type]);
}

年月日 时的版本 2019-06-19

1、可以精确到小时

2、可以根据选择的时间限制开始和结束时间

    function initTimeFormate1(format1, format2, view, end) {
        format1 = !!format1 ? format1 : "yyyy-mm-dd";
        format2 = !!format2 ? format2 : "yyyy-MM-dd";
        view = !!view ? view : 2;
        var selector = end ? $("#stime_end") : $("#stime");
        selector.datetimepicker('remove');
        selector.datetimepicker({
            language:"zh",
            format: format1,
            autoclose: true,
            startView: view,
            endDate:new Date(),
            minView: 1
        }).on("click", function () {
            selector.datetimepicker('show');
        }).off("changeDate").on("changeDate",function(ev){
            var id=$(ev.target).attr("id");
            var time=ev.date.Format(format2)
            if(id=="stime"){
                $("#stime_end").datetimepicker("setStartDate",time)
            }else{
                $("#stime").datetimepicker("setEndDate",time)
            }
        });
        if(end){
            selector.val(new Date().Format(format2));
        }else{
            var curDate = new Date();
            var preDate = new Date(curDate.getTime() - 24*60*60*1000); //前一天
            selector.val(preDate.Format(format2))
        }
    }

调用

    initTimeFormate1("yyyy-mm-dd hh","yyyy-MM-dd hh",);//加的开始时间
    initTimeFormate1("yyyy-mm-dd hh","yyyy-MM-dd hh",'',"end");//加的结束时间

 图例

bootstrap的datetimepicker使用(1.将默认的英文设置为中文2.选择日月年的时候记录之前的操作)第2张

附件  bootstrap-datetimepicker.zh-CN.js

bootstrap的datetimepicker使用(1.将默认的英文设置为中文2.选择日月年的时候记录之前的操作)第3张bootstrap的datetimepicker使用(1.将默认的英文设置为中文2.选择日月年的时候记录之前的操作)第4张
/**
 * 1、requery的引法
 */
// ;define(['jquery','bootstrap_datetimepicker'],function($){
//     $.fn.datetimepicker.dates['zh'] = {
//             days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"],
//             daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
//             daysMin:  ["日", "一", "二", "三", "四", "五", "六", "日"],
//             months: ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],
//             monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
//             today: "今天",
//             suffix: [],
//             meridiem: ["上午", "下午"]
//     };
// });
/*;(function($){
    
}(jQuery));*/

/**
 *2、正常情况的引法
 */
$.fn.datetimepicker.dates['zh'] = {
  days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"],
  daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
  daysMin:  ["日", "一", "二", "三", "四", "五", "六", "日"],
  months: ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],
  monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
  today: "今天",
  suffix: [],
  meridiem: ["上午", "下午"]
};
//可以不用
$.fn.datetimepicker.dates['en'] = {
        days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
        daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
        daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
        months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
        monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
        today: "Today",
        suffix: [],
        meridiem: ["am", "pm"]
    };
View Code

免责声明:文章转载自《bootstrap的datetimepicker使用(1.将默认的英文设置为中文2.选择日月年的时候记录之前的操作)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇干货|java缓存技术详解NodeJS服务器退出:完成任务,优雅退出下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[转]dateTimePicker选择时间控件(选择日期, 小时分钟秒)

在用Visual Studio 2005做一个windows form程序,需要一个选择时间的控件,包括选择日期,小时,分钟,秒钟。选择日期的控件和容易找到,DateTimePicker或 MonthCalendar均可,但选择小时分钟秒的控件却没有找到,到网络上搜索了一下,全是web的日期时间控件,最后在 msdn(http://msdn.micros...

几个前端时间插件总结

几个前端时间插件总结 总结一下几款时间插件,分别是 - [ ] jeDate下载地址 - [ ] bootstrap-datetimepicker下载地址 - [ ] My97DatePicker下载地址 - [ ] jQuery UI 插件Datepicker下载地址 并没有哪款完全超越另外一款,主要还是看是否合适吧。 首先说一下现在项目就在用的 j...

C#winform设置DateTimePicker的时间格式

在对DateTimePicker进行时间格式设置时候,要先对属性Format设置为"Custom"自定义格式,然后再CustomFormat里面进行格式设置  比如"yyyy-MM-dd " yyyy代表年 MM 代表月 (区分大小写) dd代表日期  (dddd代表星期几) 对DateTimePicker里面的数据进行取值,如控件名称dtp_begin,...

Windows程序控件升级==&amp;gt;&amp;gt;构建布局良好的Windows程序

01.菜单栏(MenuStrip) 01.看看这就是menuStrip的魅力: 02.除了一些常用的属性(name.text..)外还有: 03.有人会问:上图的快捷键: 方法:  方式一:1.设置菜单项的Text属性为(打开(&F)),     首先必须按住alt+主菜单快捷键进入到对应的主菜单,     然后直接按F就可以打开子窗体。  方式...

element ui 日期时间选择器DateTimePicker 禁用时间限制

项目中的需求 过磅开始时间和过磅结束时间不能选择,超过当前时间的日期 过磅结束时间不能大于过磅开始时间 过磅开始时间,最大值不能超过结束时间三个月 template el-form-item(label="过磅开始时间", prop="rotaPlanBegin") el-date-picker( v-model=...

Bootstrap的datetimepicker插件使用

在设计前端页面的时候,经常涉及到日期的选择,那么在页面显示一个日历对用户体验来说是比较好。bootstrap中有datetimepicker插件专门实现日历。在使用datetimepicker之前有几个必备的文件要先引入下面几个文件(1) datetimepicker的css文件和js文件(2)jQuery文件(3)Bootstrap的css文件和js文件...