bootstrap laydate日期组件使用详解
发布时间 - 2026-01-10 22:17:40 点击率:次在日常的网页开发过程中,日期组件已经成为不可或缺的组件之一。同时,随着广大杰出攻城狮的不懈努力,也出现了很多优秀的日期组件,其中我个人觉得 layDate 日期组件是一个非常不错的组件,简洁易用,样式清爽。

此文主要以贤心所作的 layDate 组件进行日期选择的演示,敬请各位小主们参阅,若有不足之处,敬请大神指正,不胜感激!
闲不多言,直接上码。
演示文档的工程目录如下图所示:
laydate-demo.html 对应的源代码为:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>laydate 日期插件演示示例</title>
<script type="text/javascript" src="laydate/laydate.js"></script>
<script type="text/javascript" src="js/dateUtil.js"></script>
<link rel="stylesheet" type="text/css" href="css/page.css" />
</head>
<body>
<div class="box">
<h3>laydate API:</h3>
<pre>
一、核心方法:laydate(options);
options是一个对象,它包含了以下key: '默认值'
elem: '#id', // 日期显示元素选择器,laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
event: 'click', // 触发事件。如果没有传入event,则按照默认的click
format: 'YYYY-MM-DD hh:mm:ss', // 日期格式
istime: false, // 是否开启时间选择
isclear: true, // 是否显示清空
istoday: true, // 是否显示今天
issure: true, // 是否显示确认
festival: true, // 是否显示节日
min: '1900-01-01 00:00:00', // 最小日期
max: '2099-12-31 23:59:59', // 最大日期
start: '2014-6-15 23:00:00', // 开始日期
fixed: false, // 是否固定在可视区域
zIndex: 99999999, // css z-index
choose: function(dates){ // 选择好日期的回调
}
二、其它方法/属性
laydate.v // 获取laydate版本号
laydate.skin(lib); // 加载皮肤,参数lib为皮肤名
/*
layer.now支持多类型参数。timestamp可以是前后若干天,也可以是一个时间戳。format为日期格式,为空时则采用默认的“-”分割。
如laydate.now(-2)将返回前天,laydate.now(3999634079890)将返回2096-09-28
*/
layer.now(timestamp, format); // 该方法提供了丰富的功能,推荐灵活使用。
laydate.reset(); // 重设日历控件坐标,一般用于页面dom结构改变时。无参
</pre>
</div>
<div class="box">
<h3>演示一:直接调用 laydate,无参调用</h3>
<input placeholder="请输入日期" class="laydate-icon" onclick="laydate()">
</div>
<div class="box">
<h3>演示二:js外部调用</h3>
<input class="laydate-icon" id="demo" value="2014-07-18">
</div>
<div class="box">
<h3>演示三:图标触发日期</h3>
<input id="ico" readonly><span class="laydate-icon" onclick="laydate({elem: '#ico'});"></span>
</div>
<div class="box">
<h3>演示四:自定义日期格式</h3>
<input id="custom_date_format" class="laydate-icon"></input>
</div>
<div class="box">
<h3>演示五:基于当前日期控制日期范围</h3>
<input id="custom_date_scope" class="laydate-icon"></input>
</div>
<div class="box">
<h3>演示六:显示日期和时间</h3>
<input id="custom_date_full" class="laydate-icon"></input>
</div>
<div class="box">
<h3>演示七:双日期范围显示限制</h3>
有效时间:<input id="time_start" class="laydate-icon"></input> --- <input id="time_end" class="laydate-icon"></input>
</div>
<div class="box" style="text-align:center">
<p>
以上,就是我基于贤心所作日期插件 layDate 进行的日期组件演示。<br>
个人觉得,其是一款非常不错的日期插件,对其皮肤样式,我个人比较倾向选择 淡蓝 的样式,简洁明快。<br>
以下为相应的参考链接以及 layDate 插件下载的目录(内含所需的皮肤)。
</p>
<a href="http://www.w3school.com.cn/jsref/jsref_obj_date.asp" target="_blank">JavaScript Date 对象</a>
<a href="http://yunpan.cn/ccMrbLZbZgMQC" target="_blank">layDate 插件(提取码:a36a)</a>
</div>
<script>
;!function(){
laydate.skin('danlan');
// 演示二:js外部调用
laydate({
elem: '#demo'
})
}();
/*
* 演示四:自定义日期格式
*/
laydate({
elem: '#custom_date_format',
format: 'YYYY-MM', // 分隔符可以任意定义,该例子表示只显示年月
festival: true, // 显示节日
choose: function(datas){ // 选择日期完毕的回调
alert('您选择的日期为:'+datas);
}
});
/*
* 演示五:基于当前日期控制日期范围
*/
laydate({
elem: '#custom_date_scope',
min: laydate.now(-7), // -1代表昨天,-2代表前天,以此类推
max: laydate.now(+7) // +1代表明天,+2代表后天,以此类推
});
/*
* 演示六:显示日期和时间
*/
laydate({
elem: '#custom_date_full',
format: 'YYYY-MM-DD hh:mm:ss', // 分隔符可以任意定义,该例子表示只显示年月
festival: true, // 显示节日
istime: true,
choose: function(dates){ // 选择日期完毕的回调
alert('您选择的日期时间为:'+dates);
}
});
/*
* 演示七:双日期范围显示限制
*/
var start_time = {
elem: '#time_start',
format: 'YYYY-MM-DD hh:mm:ss',
min: laydate.now(), // 设定最小日期为当前日期
//max: laydate.now(+5), // 最大日期
istime: true,
istoday: false,
choose: function(dates){
var cur = convertString2Date(dates);
var str = convertDate2String(cur);
var mse = adjustDate(cur, 0);
var ad = convertDate2String(mse);
alert("当前日期:" + cur + "\n\n格式日期:" + str + "\n\n毫秒总数:" + mse + "\n\n调整日期:" + mse
+ "\n\n加 1 秒:" + convertDate2String(adjustDate(cur, 1))
+ "\n\n加 1 分:" + convertDate2String(adjustDate(cur, 60))
+ "\n\n加 1 时:" + convertDate2String(adjustDate(cur, 60*60))
+ "\n\n加 1 天:" + convertDate2String(adjustDate(cur, 60*60*24))
+ "\n\n加 1 月:" + convertDate2String(adjustDate(cur, 60*60*24*30))
+ "\n\n加 1 年:" + convertDate2String(adjustDate(cur, 60*60*24*30*12))
+ "\n\n减 1 秒:" + convertDate2String(adjustDate(cur, -1))
+ "\n\n减 1 分:" + convertDate2String(adjustDate(cur, -60))
+ "\n\n减 1 时:" + convertDate2String(adjustDate(cur, -60*60))
+ "\n\n减 1 天:" + convertDate2String(adjustDate(cur, -60*60*24))
+ "\n\n减 1 月:" + convertDate2String(adjustDate(cur, -60*60*24*30))
+ "\n\n减 1 年:" + convertDate2String(adjustDate(cur, -60*60*24*30*12)));
// 开始日选好后,重置结束日的最小日期为下一天
end_time.min = convertDate2String(adjustDate(cur, 60*60*24));
// 将结束日的初始值设定为开始日的第三天
end_time.start = convertDate2String(adjustDate(cur, 60*60*24*2));
// 将结束日的终止值设定为开始日的第三十天,日期范围为一个月
end_time.max = convertDate2String(adjustDate(cur, 60*60*24*30));
}
};
var end_time = {
elem: '#time_end',
format: 'YYYY-MM-DD hh:mm:ss',
min: laydate.now(),
max: '2099-06-16 23:59:59',
istime: true,
istoday: false,
choose: function(dates){
var cur = convertString2Date(dates);
// 结束日选好后,重置开始日的最大日期为前第一天
start_time.max = convertDate2String(adjustDate(cur, -60*60*24));
// 将起始日的初始值设定为结束日的前第三十天
start_time.start = convertDate2String(adjustDate(cur, -60*60*24*30));
// 将起始日的起始日期设定为结束日的前第三十天,日期范围为一个月
start_time.min = convertDate2String(adjustDate(cur, -60*60*24*30));
}
};
laydate(start_time);
laydate(end_time);
</script>
</body>
</html>
page.css 对应的源码为:
*{
margin:0;
padding:0;
list-style:none;
}
html{
background-color:#E3E3E3;
font-size:14px;
color:#000;
font-family:'微软雅黑'
}
h2{
line-height:30px;
font-size:20px;
}
a,a:hover{
text-decoration:none;
}
pre{
font-family:'微软雅黑'
}
.box{
width:1200px;
padding:10px 20px;
background-color:#fff;
margin:10px auto;
}
.box a{
padding-right:20px;
}
h3{
margin:10px 0;
}
.layinput{
height: 22px;
line-height: 22px;
width: 150px;
margin: 0;
}
convertString2Date 函数对应的源码如下:
convertDate2String 函数对应的源码如下:
adjustDate 函数对应的源码如下:
运行结果如下所示:
至此,HTML-001-日期组件 layDate 演示顺利完结,希望此文能够给初学 HTML 的您一份参考。
最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢!
如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:
Bootstrap学习教程
Bootstrap实战教程
Bootstrap Table使用教程
Bootstrap插件使用教程
以上就是本文的全部内容,希望大家多多支持。
# bootstrap
# laydate
# 日期组件
# laydate如何根据开始时间或者结束时间限制范围
# layDate插件设置开始和结束时间
# layDate日期控件使用方法详解
# laydate时间日历插件使用方法详解
# vue使用laydate时间插件的方法
# Angular4.0中引入laydate.js日期插件的方法教程
# laydate日历控件使用方法详解
# Bootstrap.css与layDate日期选择样式起冲突的解决办法
# laydate.js日期时间选择插件
# layui-laydate时间日历控件使用方法详解
# 是一个
# 十天
# 回调
# 此文
# 一个月
# 以此类推
# 微软
# 自定义
# 只显示
# 所示
# 所作
# 可以任意
# 非常不错
# 前天
# 分隔符
# 选择器
# 所需
# 对其
# 点击这里
# 大神
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JS去除重复并统计数量的实现方法
html5的keygen标签为什么废弃_替代方案说明【解答】
JavaScript实现Fly Bird小游戏
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
如何在阿里云ECS服务器部署织梦CMS网站?
Laravel PHP版本要求一览_Laravel各版本环境要求对照
Laravel怎么在Blade中安全地输出原始HTML内容
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
Python函数文档自动校验_规范解析【教程】
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
大连 网站制作,大连天途有线官网?
如何在VPS电脑上快速搭建网站?
网站制作价目表怎么做,珍爱网婚介费用多少?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
高性能网站服务器部署指南:稳定运行与安全配置优化方案
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
lovemo网页版地址 lovemo官网手机登录
JavaScript如何实现倒计时_时间函数如何精确控制
如何在企业微信快速生成手机电脑官网?
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
Laravel如何创建自定义Artisan命令?(代码示例)
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
如何用搬瓦工VPS快速搭建个人网站?
音乐网站服务器如何优化API响应速度?
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
php结合redis实现高并发下的抢购、秒杀功能的实例
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
制作旅游网站html,怎样注册旅游网站?
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
Android Socket接口实现即时通讯实例代码
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
南京网站制作费用,南京远驱官方网站?
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
Laravel如何处理和验证JSON类型的数据库字段
PHP 500报错的快速解决方法
如何在 Pandas 中基于一列条件计算另一列的分组均值
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
Laravel如何实现多对多模型关联?(Eloquent教程)
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
黑客入侵网站服务器的常见手法有哪些?
JavaScript如何实现错误处理_try...catch如何捕获异常?
Laravel如何实现API速率限制?(Rate Limiting教程)
高端建站如何打造兼具美学与转化的品牌官网?
高防服务器租用指南:配置选择与快速部署攻略
如何使用 jQuery 正确渲染 Instagram 风格的标签列表

