几个前端时间插件总结

总结一下几款时间插件,分别是
- [ ] jeDate 手册http://www.jemui.com/jedate/
- [ ] bootstrap-datetimepicker 下载地址
- [ ] My97DatePicker 下载地址
- [ ] jQuery UI 插件Datepicker 下载地址

手机端的:http://blog.csdn.net/libin_1/article/details/50706030#comments

并没有哪款完全超越另外一款,主要还是看是否合适吧。
首先说一下现在项目就在用的 jeDate吧。

jeDate



eDate除了包含日期范围限制、开始日期设定、自定义日期格式、时间戳转换、当天的前后若干天返回、时分秒选择、智能响应、自动纠错、节日识别,操作等常规功能外,还拥有更多趋近完美的解决方案。
目前只适合PC端。
因为是最近新出的,功能比较完善,支持风格切换,显示节假日,还有很多强大的功能。

如上图所看到的,jeDate 的界面这个样子,值得一提的是,一般时间的input 输入框 是设置为只读的。所以需要其时间插件内部提供清空 调用功能。而下面要说的 bootstrap-datetimepicker 就没有提供这个功能,需要自己修改实现。
同其他插件不同的地方在于,下方有时分秒的选项。点击进入相应的设置界面。需要注意的是 js 中调用方法设置前面后面时间相互制约的限制
代码如下

var startDate = jeDate({dateCell:"#start-date",format:"YYYY-MM-DD hh:mm:ss",isTime:true,isinitVal:true,minDate:jeDate.now(0),choosefun:function(val) {endDate.config.minDate = val;requireDate.config.minDate = val;$("#start-date").blur();},okfun:function(val) {endDate.config.minDate = val;requireDate.config.minDate = val;$("#start-date").blur();}
});
var endDate = jeDate({dateCell:"#end-date",format:"YYYY-MM-DD hh:mm:ss",isTime:true,minDate:jeDate.now(0),choosefun:function(val) {startDate.config.maxDate = val;$("#end-date").blur();},okfun:function(val) {startDate.config.maxDate = val;$("#end-date").blur();}
});var requireDate = jeDate({dateCell:"#require-date",format:"YYYY-MM-DD",isTime:false,minDate:jeDate.now(0)
});

具体参考相关的API

bootstrap-datetimepicker


设置前后时间互相制约的方法

// 初始化第三方插件
ArticleManager.prototype.initVendorComponent = function() {// 初始化时间插件// 设置只能选今天以前的时间$('#createBeginDate').datetimepicker(datetimePickerOptions).on('show',function(e) {$('#createBeginDate').datetimepicker('setEndDate',new Date());});$('#createBeginDate').datetimepicker(datetimePickerOptions).on('changeDate',function(e) {$('#createBeginDate').datetimepicker('setEndDate',new Date());$('#createEndDate').datetimepicker('setStartDate',$(this).val());});// 设置只能选今天以前的时间$('#createEndDate').datetimepicker(datetimePickerOptions).on('show',function(e) {$('#createEndDate').datetimepicker('setEndDate', new Date());});$('#createEndDate').datetimepicker(datetimePickerOptions).on('changeDate',function(e) {$('#createEndDate').datetimepicker('setEndDate', new Date());$('#createBeginDate').datetimepicker('setStartDate',$(this).val());});
};

和上面图中所看到的,一个主要的缺陷就是没有原生的清除所选择日期按钮。
我们项目原来用的就是这个插件,后来手动在原生js里面加入了清除按钮。
但去除这一点,这个插件也是没什么问题的。风格是原生的bootstrap 风格,如果需要修改,需要自己个性化定制。
但其实也给出了没有清除按钮的解决办法,forceParse 方法,设置为true 会强制更改用户输入的值,转变为符合规定的近似的值,也就是说这样的话不必把输入框设置成只读的了。
点到为止,其他欢迎去看官方API。这个插件总体上来说也是没什么问题的。

jquery UI 插件Datepicker

目前就我所知,jquery UI 并不是很火的样子,现在前端这些框架更新迭代都很快,以前一些老项目确实有很多直接基于这种框架去做的,组件规范化。使得我们这些后端人员也能做出像模像样的前端页面,但是到现在的互联网确实不够用了。这就需要专业的前端人员和设计人员了,毕竟如果只是单独给企业做项目,更加注重功能的实现,而现在的项目更加注重体验。

  //等待dom元素加载完毕.  $(function(){  $("#selectDate").datepicker({//添加日期选择功能  numberOfMonths:1,//显示几个月  showButtonPanel:true,//是否显示按钮面板  dateFormat: 'yy-mm-dd',//日期格式  clearText:"清除",//清除日期的按钮名称  closeText:"关闭",//关闭选择框的按钮名称  yearSuffix: '年', //年的后缀  showMonthAfterYear:true,//是否把月放在年的后面  defaultDate:'2011-03-10',//默认日期  minDate:'2011-03-05',//最小日期  maxDate:'2011-03-20',//最大日期  monthNames: ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'],  dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],  dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],  dayNamesMin: ['日','一','二','三','四','五','六'],  onSelect: function(selectedDate) {//选择日期后执行的操作  ;  }  });  });

如上图所示,原生的也是没有日期的清除和时间的限制(这个不确定了)

现在不是经常使用的插件,但如果需要还是没有问题的,可能需要个性化定制一些。

My97DatePicker

时间比较久远的一款插件,功能还算丰富,支持日期输入查询。
这里我就不再多说。

起始日期功能

注意:日期格式必须与 realDateFmt 和 realTimeFmt 一致而不是与 dateFmt 一致

有时在项目中需要选择生日之类的日期,而默认点开始日期都是当前日期,导致年份选择非常麻烦,你可以通过起始日期功能加上配置alwaysUseStartDate属性轻松解决此类问题

日期的范围限制也算比价灵活

静态限制
注意:日期格式必须与 realDateFmt 和 realTimeFmt 一致而不是与 dateFmt 一致

你可以给通过配置minDate(最小日期),maxDate(最大日期)为静态日期值,来限定日期的范围

type="text" class="Wdate" id="d414" onfocus="WdatePicker({dateFmt:'H:mm:ss',minDate:'8:00:00',maxDate:'11:30:00'})"/>
  • 1
  • 1

动态限制

你可以通过系统给出的动态变量,如%y(当前年),%M(当前月)等来限度日期范围,你还可以通过{}进行表达式运算,如:{%d+1}:表示明天
动态变量表
格式 说明
%y 当前年
%M 当前月
%d 当前日
%ld 本月最后一天
%H 当前时
%m 当前分
%s 当前秒
{} 运算表达式,如:{%d+1}:表示明天

F{} {}之间是函数可写自定义JS代码

示例4-2-1 只能选择今天以前的日期(包括今天)

"d421" class="Wdate" type="text" οnfοcus="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})"/>
  • 1
  • 1

示例4-2-2 使用了运算表达式 只能选择今天以后的日期(不包括今天)

"d422" class="Wdate" type="text" οnfοcus="WdatePicker({minDate:'%y-%M-{%d+1}'})"/>
  • 1
  • 1

示例4-2-3 只能选择本月的日期1号至本月最后一天

"d423" class="Wdate" type="text" οnfοcus="WdatePicker({minDate:'%y-%M-01',maxDate:'%y-%M-%ld'})"/>
  • 1
  • 1

示例4-2-4 只能选择今天7:00:00至明天21:00:00的日期

"d424" class="Wdate" type="text" οnfοcus="WdatePicker({dateFmt:'yyyy-M-d H:mm:ss',minDate:'%y-%M-%d 7:00:00',maxDate:'%y-%M-{%d+1} 21:00:00'})"/>
  • 1
  • 1

示例4-2-5 使用了运算表达式 只能选择 20小时前 至 30小时后 的日期

"d425" class="Wdate" type="text" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',minDate:'%y-%M-%d {%H-20}:%m:%s',maxDate:'%y-%M-%d {%H+30}:%m:%s'})"/>
  • 1
  • 1

暂时这这么多。

文章转载地址:http://blog.csdn.net/kanxingwang/article/details/51613050

转载于:https://www.cnblogs.com/linewman/p/9918291.html

几个前端时间插件总结相关推荐

  1. java前端的日期插件_几个前端时间插件总结

    几个前端时间插件总结 总结一下几款时间插件,分别是 - [ ] jeDate 手册http://www.jemui.com/jedate/ - [ ] bootstrap-datetimepicker ...

  2. java前端插件有哪些_【转】几个前端时间插件总结

    几个前端时间插件总结 总结一下几款时间插件,分别是 - [ ] jeDate 下载地址 - [ ] bootstrap-datetimepicker 下载地址 - [ ] My97DatePicker ...

  3. 2020-2-15技术积累-时间插件-前端获取后端数据生成表格

    1.一种时间插件的用法 WdatePicker使用方法 https://blog.csdn.net/wuyan1001/article/details/78561363 https://blog.cs ...

  4. 前端常用插件、工具类库汇总(上)

    前言 在开发中,我们经常会将一些常用的代码块.功能块进行封装,为的是更好的复用.那么,被抽离出来独立完成功能,通过API或配置项和其他部分交互,便形成了插件. 下面这些是我在工作中积累的一些常用的前端 ...

  5. angularjs封装bootstrap官网的时间插件datetimepicker

    背景:angular与jquery类库的协作 第三方类库中,不得不提的是大名鼎鼎的jquery,现在基本上已经是国内web开发的必修工具了.它灵活的dom操作,让很多web开发人员欲罢不能.再加上已经 ...

  6. chrome vue插件_VS Code 前端常用插件推荐

    ⊕.vscode安装插件只需要点击图片所示按钮,即可进入拓展,在搜索框中输入插件名点击安装后,等待安装好即可点击重新加载重启vscode使得插件生效. Ξ.当你不需要某个插件时只需要进入扩展,点击对应 ...

  7. bootstrap表单拖拽生成器插件_web前端常用插件、工具类库汇总,新手必收藏!!!...

    前言 在开发中,我们经常会将一些常用的代码块.功能块进行封装,为的是更好的复用.那么,被抽离出来独立完成功能,通过API或配置项和其他部分交互,便形成了插件. 下面这些是我在工作中积累的一些常用的前端 ...

  8. 前端常用插件、工具类库汇总,新手必收藏!!!

    前言 在开发中,我们经常会将一些常用的代码块.功能块进行封装,为的是更好的复用.那么,被抽离出来独立完成功能,通过API或配置项和其他部分交互,便形成了插件. 下面这些是我在工作中积累的一些常用的前端 ...

  9. 前端常用插件之calender日历控件

    前端常用插件之calender日历控件 最近,发现一个插件--简单好用的页面日历控件,个人觉得有必要与大家分享一下,它就是calender日历控件. 准备环境: Bootstrap文件:bootstr ...

最新文章

  1. 升级SharePoint场的时候, 运行Configuration Wizard需要有什么顺序么?
  2. 委员建议开辟多种科研资助模式,呼唤“科研悬赏制”
  3. 网站SEO优化技巧的“减法运算”
  4. 手把手带你撸一把springsecurity框架源码中的认证流程
  5. php 打印oracle数组,ThinkPHP框架自身$map数组查询语言where条件对应oracle数据库时间戳查询方法...
  6. 指针04 - 零基础入门学习C语言44
  7. dom4j-2.1.1 jaxen-1.1.6 读取xml数据源
  8. LeetCode 386. 字典序排数(DFS循环)
  9. java存储键值结构_java-键值存储为主数据库
  10. 53 - II. 0~n-1中缺失的数字
  11. vue:webpack + vue-cil 中 proxyTable 处理跨域
  12. ssl charles 参数看不到_偷偷告诉你Charles的秘密
  13. 【LEDE】树莓派上玩LEDE终极指南-92-自己编译的LEDE为啥子不能用SSR和KoolProxy?
  14. 关于贝叶斯公式的解释,通俗易懂(转载)
  15. 【工具】Movielens数据集详细介绍
  16. 认证的政府与媒体类订阅号可取得网页授权接口了
  17. 3.2.3 Quantization Techniques(HDR量化)(Advanced High Dynamic Range Imaging)Schlick TMO
  18. 【天池大赛】淘宝直播商品识别
  19. 计算机软件cd全称,cd刻录(刻录高音质cd完美教程_计算机软件及应用_IT/计算机_专业资料)...
  20. 数据库学习笔记04——关系数据库2

热门文章

  1. nacos集群之日志狂刷fail to connect server,after trying 567 times,last try server is...
  2. Python的sort()
  3. 一篇文章带你详解 HTTP 协议(上)
  4. 关于mysql的“+0”操作
  5. VPTR的分步初始化
  6. 【Python】青少年蓝桥杯_每日一题_8.11_画二叉树
  7. java数组删除数据_Java 数组 之 一维数组 删除 元素
  8. 新基建将引发全国用电量暴涨近两成,如何应对
  9. UPS技术的“前世今生”【基础篇.PPT】
  10. 骄阳似火 细数史上数据中心火灾 如何才能重蹈覆辙?