https://www.layui.com/laydate/说明:下载 — laydate文件copy —放在你的项目文件下 — 引入laydate.js(它是采用原生的js去写的,不依赖于任何第三方的库的,兼容到ie8往上)
https://www.layui.com/doc/中的内置模块—>日期与时间选择
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><title></title></head><body><!--https://www.layui.com/laydate/--><div class="container"><div class="row mt-5"><div class="col"><div class="form-group form-inline"> form-inline横着排列<label for="date">日期:</label><div type="text" class="form-control w-50" placeholder="请选择日期" id="date"></div>m-50百分之50</div></div></div></div><script src="laydate/laydate.js"></script><script>var layDemo=laydate.render({ //初始化方法//绑定元素elem: '#date', 或者dom对象:document.getElementById('date')//控件选择类型type: 'year',只提供年列表的选择type: 'month', 年月type: 'date', 年月日type: 'time', 时分秒type: 'datetime', 年月日时分秒//开启左右面板范围选择//range:'*'字符串表示分隔符,表示开启范围,中间用这个字符串来做分隔符默认值是false,true的时候,就是开启两个面板,显示两个日期选择固定范围的日期 input框中就是显示两个范围的日期可以通过type相结合进行//自定义格式format: 'yyyy-MM-dd HH:mm:ss',format: 'yyyy年MM月dd日 HH时mm分ss秒',format: 'yyyyMMdd',format: 'dd/MM/yyyy',format: 'yyyy年M月',format: 'M月d日',format: '北京时间:HH点mm分',format: 'yyyy年的M月某天晚上,大概H点',format: '亲,还记得yyyy年的M月d号那一天么?',format: 'yyyy-MM-dd',//初始值/* value:'2008-08-08', 这个不OKvalue:new Date(2008,7,8),isInitValue :false, 意义不大*///最小/大范围内的日期时间值 字符串 || 数字/* min: '2019-1-1',max: '2019-12-31',min: '2019-12-11 12:30:00',max: '2019-12-18 12:30:00',时分秒必须用冒号:min: -7, 左一周max: 7, 右一周min: '09:30:00', 定义的时间,就是默认的是今天的日期max: '17:30:00', *///自定义弹出控件的事件trigger :'focus', 获取到input焦点的时候这个提起框就弹出来了如果绑定的时间不是input,那么默认的事件是click//默认显示show:false,//定位方式position:'abolute','fixed':就是应用到的是弹出层,'static':它可以把我们的组件放在一个对应的一个元素当中。用的不多//层叠顺序zIndex:66666666,//是否显示底部栏showBottom :true,//工具按钮btns :['now', 'clear', 'confirm'],里面可以删除,可以不填,可以都填 就是下方的按钮是否显示//语言lang:'cn', 'en'英文//主题theme :'default',默认值 绿色theme :'molv',墨绿色theme :'#f00',颜色值 16进制theme :'grid',方格主题theme :'kaivon', 添加一个class laydate-theme-kaivon// 是否显示公历节日calendar:true,里面的中国传统的节日//标注重要日子mark :{'0-5-3':'生日', 5月3号 生日'0-9-1':'开学', 9月1号 开学'0-0-10':'工资', 每月10工资'2019-12-6':'入职',这个2019年12月6号入职},//方法//控件初始打开的触发这个回调ready:function(date){console.log(date);当前日期年月日},//日期时间被切换后的回调change:function(value,date,endDate){console.log(value);生成的值 就是显示的字符串 选择到的时间console.log(date);日期的时间对象 打开range 开始时间对象console.log(endDate);结束的日期的时间对象 打开range 结束事件对象layDemo.hint(value); 就是说实例的继承对象,我们自己声明的变量(对象继承了)的方法},//控件选择完毕后的回调done:function(value,date,endDate){当我们点击确定的时候这个控件就会触发console.log(value);console.log(date);console.log(endDate);},});console.log(layDemo);var endDay=laydate.getEndDate();取到某一个月的最后一天 不给值的话就是默认today的日期var endDay=laydate.getEndDate(2,2035);获取这个月的总共天数的方法,我们平时就可以通过setdate()设置一个日期对象,我们把这个对象设置成一个setDate(2019,1,32),这个是可以执行的,这时候会变成下一个月的第一天,setDate(2019,1,0)这时候天数是没有零值的,会设置成上一个月的最后一天,这时候就出现最后一天了,我们通过getDate()就可以取到那一个月的天数了。我们平时方法的原理。这里面也是有一个坑就是月份的问题。console.log(endDay);</script>
