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

几个前端时间插件总结

总结一下几款时间插件,分别是

- [ ] jeDate 手册http://www.jemui.com/jedate/

- [ ] bootstrap-datetimepicker 下载地址

- [ ] My97DatePicker 下载地址

- [ ] jQuery UI 插件Datepicker

下载地址

并没有哪款完全超越另外一款,主要还是看是否合适吧。

首先说一下现在项目就在用的 jeDate吧。

jeDate

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

eDate除了包含日期范围限制、开始日期设定、自定义日期格式、时间戳转换、当天的前后若干天返回、时分秒选择、智能响应、自动纠错、节日识别,操作等常规功能外,还拥有更多趋近完美的解决方案。

目前只适合PC端。

因为是最近新出的,功能比较完善,支持风格切换,显示节假日,还有很多强大的功能。

9918291.html

9918291.html

如上图所看到的,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

a4c26d1e5885305701be709a3d33442f.png

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

// 初始化第三方插件

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());});

};

9918291.html

和上面图中所看到的,一个主要的缺陷就是没有原生的清除所选择日期按钮。

我们项目原来用的就是这个插件,后来手动在原生js里面加入了清除按钮。

但去除这一点,这个插件也是没什么问题的。风格是原生的bootstrap 风格,如果需要修改,需要自己个性化定制。

但其实也给出了没有清除按钮的解决办法,forceParse 方法,设置为true

会强制更改用户输入的值,转变为符合规定的近似的值,也就是说这样的话不必把输入框设置成只读的了。

点到为止,其他欢迎去看官方API。这个插件总体上来说也是没什么问题的。

jquery UI 插件Datepicker

a4c26d1e5885305701be709a3d33442f.png

目前就我所知,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

a4c26d1e5885305701be709a3d33442f.png

9918291.html

时间比较久远的一款插件,功能还算丰富,支持日期输入查询。

这里我就不再多说。

起始日期功能

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

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

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

静态限制

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

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

type="text" class="Wdate" id="d414" οnfοcus="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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java插件自动保存浏览器书签_多浏览器书签同步插件EverSync

有时上网时会遇到浏览器不能正常显示的问题。(比如我的火狐浏览器无法正确显示微信公众号管理后台,在chrome上可以正常显示),所以我的电脑里安装了chrome和firefox两个浏览器。但是时间长了,会出现两个浏览器上书签不同步的问题。原来自己的解…

php oracle 中文字段,怎么解决php oracle乱码问题

php oracle乱码是由于没有正确的配置字符集信息导致的,其解决办法就是通过PLSQL运行“select * from V$NLS_PARAMETERS;”获取oracle的字符集,并重新设置正确的字符集即可。PHP Oracle 中文乱码问题通常缺省配置连接Oracle在处理中文时都会遇到乱码问题&…

用matlab数学综合实验,MATLAB与数学实验(第2版)

MATLAB与数学实验(第2版)作者:艾冬梅 李艳晴 张丽静 刘琳出版日期:2014年06月文件大小:46.48M支持设备:¥18.00在线试读适用客户端:言商书局iPad/iPhone客户端:下载 Android客户端&#xff1a…

matlab破损皮革定位,matlab-code-of-TDOAFDOa 干扰源定位代码,应该在 的求解过程中有帮助。 276万源代码下载- www.pudn.com...

文件名称: matlab-code-of-TDOAFDOa下载 收藏√ [5 4 3 2 1 ]开发工具: matlab文件大小: 38 KB上传时间: 2014-05-31下载次数: 25提 供 者: qqq详细说明:干扰源定位代码,应该在干扰源定位的求解过程中有帮助。-code for tdoa and fdoa文件列表(点击判断是否您…

debian 安装php gd2,如何在Debian Linux中为PHP安装Ioncube

在Debian Linux系统中安装PHP Ioncube加载器。 Ioncube用作PHP应用程序的加密和解密实用程序,通过它我们可以保护数据安全。 它还可以限制PHP应用程序执行未授权。 它还有助于加速提供的页面。 IonCube加载器(Ioncube Loaders)用于在Web服务器上运行时解码编码文件。…

php如何输出关联数组的值,php - 如何从PHP关联数组中获取确切的输出 - SO中文参考 - www.soinside.com...

我试图在关联数组上使用foreach循环创建一个html表。这是关于数组的更多细节。$assoc_array array("0" > array("project_id" > "1","emp_id" > "123","emp_name" > "Max","project&…

linux文件属性是什么意思,Linux文件属性

Linux是一种多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux对不同用户访问同一文件的权限做了规定。我们可以使用ls -l命令来显示一个文件的信息:37944FD1-FBEF-4EDC-80BA-B5276F4242A9.png我们…

linux文件赋予755权限,Linux文件和目录的777、755、644权限解释

Linux文件和目录的权限1.文件权限在linux系统中,文件或目录的权限可以分为3种:r:4 读w:2 写x:1 执行(运行)-:对应数值0数字 4 、2 和 1表示读、写、执行权限rwx 4 2 1 7 (可读写运行)rw 4 2 6 (可读写不可运行)rx 4 1 5 (可读可运行不可写)示例…

linux下删除已经创建的数据库,MongoDB 数据库的创建和删除

MongoDB 创建数据库语法MongoDB 创建数据库的语法格式如下:useDATABASE_NAME如果数据库不存在,则创建数据库,否则切换到指定数据库。实例以下实例我们创建了数据库 runoob:>userunoobswitched to db runoob>dbrunoob>如果你想查看所…

支持1050ti显卡的linux系统,NVIDIA 的 GTX1050 Ti 与 GTX1050 显卡登场

一年来都忙着更新全系列显卡家族的 NVIDIA,先从 GTX1080 和 GTX1070 开始,到 GTX1060 和卡王 Titan X,一步一步将整条产品线升级到 Pascal 核心。今天的 GTX1050 和 GTX1050 Ti 则是补上了中低端市场的短板,让 AMD 享受了两个月优…

c语言项开发班级登入系统,c语言--班级管理系统

满意答案dgfetc5832013.12.10采纳率:47% 等级:12已帮助:14710人class student{public:char m_strName[10]; // 姓名int m_nNum; // 学号float m_dScore[4]; // 成绩};void InputScore(student* p, int nNumber){if(nNumber > 10){print…

android 高度百分比,如何在Android中进行百分比高度和宽度?

现在,可以用Guidelines定位百分比值xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"android:layout_width"match_parent"android:layout_height"match_parent&q…

android fragment 弹出对话框,Android中使用Dialogfragment显示对话框

其他注意事项:1、如何设置自己的Dialogfragment没有标题栏?可以通过两种方法来设置 ,一种是使用dialogfragment的setStyle函数,另外就是使用getDialog().getWindow().requestFeature方法,具体代码如下Overridepublic D…

Android7.0 emui主题,全新EMUI5.0基于Android7.0 天生快,一生快!

EMUI5.0是基于Android 7.0开发的全新一代操作系统。 循着神秘古老的爱琴海带来的灵感,EMUI5.0用户界面的设计极其简单干净,令人赏心悦目。 因了解用户习惯而全新改善,EMUI5.0流畅自然的表现不会随时间递减,让生活得心应手&#xf…

在微信公众号中写html代码吗,微信公众号代码编写怎么做

微信公众号编写微信代码,因为有这方面的需要,需要去进行微信公众号代码编写。以下是学习啦小编为您带来的关于微信公众号代码编写,希望对您有所帮助。微信公众号代码编写微信公众平台编辑器不能直接编写微信代码,但是可以通过第三…

html代码在线分析,网站html代码解析

1、什么是HTML文件?HTML中文叫做“超文本标记语言”,一个HTML文件不仅包含文本内容,还包含一些标记,一个HTML文件的后缀名是.htm或者是.html。用文本编辑器(Dreamweaver)就可以编写HTML文件。2、html文件的基本结构:(成…

html 下拉到一定位置,浏览器向下滚动到一定位置继续滚动时,侧边导航固定在页面顶部,再滚动到一定位置时页面再向下滚动侧边导航不再固定。这种效果怎么实现呢...

1.浏览器向下滚动到一定位置继续滚动时,侧边导航固定在页面顶部,再滚动到一定位置时页面再向下滚动侧边导航不再固定。页面向上滚动到一定位置继续滚动时,侧边导航保持在原来位置。这种效果怎么实现呢2.、参考代码:$(function(){/…

计算机专业的英语文献,计算机专业英语论文参考文献

bentuoguai高分答主08-08TA获得超过1351个赞关于计算机信息管理系统,可以参考了:)~~Enterprise computer network management information system(MIS) is gradually use, it is the stage sign of our country of production power development, is the…

计算机博士与管理科学与工程博士,管理科学与工程一级学科博士点简介

管理科学与工程是管理学门类中的一级学科,侧重于研究同现代生产经营、科技、经济和社会等发展相适应的管理理论、方法与工具,应用现代科学方法与科技成就来阐明和揭示管理活动的规律,以提高管理的效率。东华大学早在1959年设立工业管理工程本…

东莞市商业学校计算机平面设计在哪个校区,东莞市商业学校

东莞市商业学校开设专业:学校开设计算机动漫与游戏制作、计算机平面设计、计算机网络技术、电子技术应用、学前教育、民族音乐与舞蹈、会计电算化、金融事务、市场营销、电子商务、国际商务、汽车整车与配件营销等12个专业。学校以就业为导向,以现代服务…