首页 > 代码库 > My97DatePicker日历插件

My97DatePicker日历插件

My97DatePicker具有强大的日期功能,能限制日期范围,对于编写双日历比较简便。

注意事项:

My97DatePicker目录是一个整体,不可以破坏

My97DatePicker.html 是必须的文件 不可以删除 

各个目录及文件的用途

WdatePicker.js  配置文件 可多个共存

config.js 语言和皮肤配置文件 (可以不引入)

calendar.js 日期库主文件(可以不引入)

1、正常调用

<input id="demo1" type="text" onClick="WdatePicker()"/>

2、图标触发

<input id="d12" type="text"/>
<img onclick="WdatePicker({el:‘d12‘})" src="http://www.mamicode.com/skin/datePicker.gif" width="16" height="22" align="absmiddle">

注释:el为挂载元素  后面传入控件的id 

3、支持周显示

<input id="d121" type="text" onfocus="WdatePicker({isShowWeek:true})"/>

4、利用onpicked事件把周赋值给另外的文本框

<input type="text" class="Wdate" id="d122" onFocus="WdatePicker({isShowWeek:true,onpicked:function() {$dp.$(‘d122_1‘).value=http://www.mamicode.com/$dp.cal.getP(‘W‘,‘W‘);$dp.$(‘d122_2‘).value=$dp.cal.getP(‘W‘,‘WW‘);}})"/>

 

5、只读开关,高亮周末显示

设置readOnly属性 true或false设置是否为只读模式

设置highLineWeekDay属性true或false可指定是否高亮周末

6、清空按钮和今天按钮的控制

需要自定义,分别对应isShowClear 和 isShowToday 默认值都为true

7、自定义弹出的位置

<input class="Wdate" type="text" id="d16" onfocus="WdatePicker({position:{left:100,top:50}})"/>

8、自定义日期的第一天

<input class="Wdate" type="text" id="d17" onfocus="WdatePicker({firstDayOfWeek:1})"/>

9、起始日期

注意:日期格式必须与 realDateFmt 和realTimeFmt 一致

<input type="text" id="d221" onFocus="WdatePicker({startDate:‘1980-05-01‘})"/>

10、设置内置参数

<input type="text" id="d233" onFocus="WdatePicker({startDate:‘%y-%M-01 00:00:00‘,dateFmt:‘yyyy-MM-dd HH:mm:ss‘,alwaysUseStartDate:true})"/>

11、自定义样式

<input type="text" id="d241" onfocus="WdatePicker({dateFmt:‘yyyy年MM月dd日 HH时mm分ss秒‘})" class="Wdate" style="width:300px"/>

 

<input type="text" id="d242" onfocus="WdatePicker({skin:‘whyGreen‘,dateFmt:‘H:mm:ss‘})" class="Wdate"/>

12、双日历

<input class="Wdate" type="text" onfocus="WdatePicker({doubleCalendar:true,dateFmt:‘yyyy-MM-dd‘})"/>

注意:双月日历一般只用于包含年月日三个元素的场景,另外设置该属性时,autoPickDate自动设置为true

 

日期范围限制

1、静态限制

<input id="d411" class="Wdate" type="text" onfocus="WdatePicker({skin:‘whyGreen‘,minDate:‘2006-09-10‘,maxDate:‘2008-12-20‘})"/>

 

限制日期的范围是 2006-09-10到2008-12-20

<input type="text" class="Wdate" id="d412" onfocus="WdatePicker({skin:‘whyGreen‘,dateFmt:‘yyyy-MM-dd HH:mm:ss‘,minDate:‘2008-03-08 11:30:00‘,maxDate:‘2008-03-10 20:59:30‘})" value="http://www.mamicode.com/2008-03-09 11:00:00"/>

限制日期的范围是 2008-3-8 11:30:00 到 2008-3-10 20:59:30

<input type="text" class="Wdate" id="d413" onfocus="WdatePicker({dateFmt:‘yyyy年M月‘,minDate:‘2008-2‘,maxDate:‘2008-10‘})"/>

 限制日期的范围是 2008年2月 到 2008年10月

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

限制日期的范围是 8:00:00 到 11:30:00

2、动态限制

只能选择今天以前的日期(包括今天)

<input id="d421" class="Wdate" type="text" onfocus="WdatePicker({skin:‘whyGreen‘,maxDate:‘%y-%M-%d‘})"/>

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

<input id="d422" class="Wdate" type="text" onfocus="WdatePicker({minDate:‘%y-%M-{%d+1}‘})"/>

 

只能选择本月的日期1号至本月最后一天

<input id="d423" class="Wdate" type="text" onfocus="WdatePicker({minDate:‘%y-%M-01‘,maxDate:‘%y-%M-%ld‘})"/>

只能选择今天7:00:00至明天21:00:00的日期

<input id="d424" class="Wdate" type="text" onfocus="WdatePicker({dateFmt:‘yyyy-M-d H:mm:ss‘,minDate:‘%y-%M-%d 7:00:00‘,maxDate:‘%y-%M-{%d+1} 21:00:00‘})"/>

使用了运算表达式 只能选择 20小时前 至 30小时后 的日期

<input id="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‘})"/>

3、脚本自定义限制

 前面的日期不能大于后面的日期且两个日期都不能大于 2020-10-01

<input id="d4311" class="Wdate" type="text" onFocus="WdatePicker({maxDate:‘#F{$dp.$D(\‘d4312\‘)||\‘2020-10-01\‘}‘})"/> 
<input id="d4312" class="Wdate" type="text" onFocus="WdatePicker({minDate:‘#F{$dp.$D(\‘d4311\‘)}‘,maxDate:‘2020-10-01‘})"/>

前面的日期+3天 不能大于 后面的日期

<input type="text" class="Wdate" id="d4321" onFocus="WdatePicker({maxDate:‘#F{$dp.$D(\‘d4322\‘,{d:-3});}‘})"/>
<input type="text" class="Wdate" id="d4322" onFocus="WdatePicker({minDate:‘#F{$dp.$D(\‘d4321\‘,{d:3});}‘})"/>

前面的日期+3月零2天 不能大于 后面的日期 且 前面日期都不能大于 2020-4-3减去3月零2天 后面日期 不能大于 2020-4-3

<input type="text" class="Wdate" id="d4331" onFocus="WdatePicker({maxDate:‘#F{$dp.$D(\‘d4332\‘,{M:-3,d:-2})||$dp.$DV(\‘2020-4-3\‘,{M:-3,d:-2})}‘})"/>
<input type="text" class="Wdate" id="d4332" onFocus="WdatePicker({minDate:‘#F{$dp.$D(\‘d4331\‘,{M:3,d:2});}‘,maxDate:‘2020-4-3‘})"/>

4、无效天

<input id="d441" type="text" class="Wdate" onFocus="WdatePicker({disabledDays:[6]})"/>

 

5、无效日期

<input id="d442" type="text" class="Wdate" onFocus="WdatePicker({disabledDays:[0,6]})"/>

禁用 每个月份的 5日 15日 25日

<input id="d451" type="text" class="Wdate" onFocus="WdatePicker({disabledDates:[‘5$‘]})"/>

禁用 所有早于2000-01-01的日期

<input id="d452" type="text" class="Wdate" onFocus="WdatePicker({disabledDates:[‘^19‘]})"/>

 

My97DatePicker日历插件