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', 这个不OK
value: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>