myDate97 设置开始时间和结束时间

1.简单示例

  第一步:引入My97DatePicker/WdatePicker.js

  第二步:js代码

 

  第三步:html代码

开始时间:
<  input name="V_START" class="TextBox" readonly="readonly" id="V_START" type="text"
    onclick="WdatePicker({isShowClear:false, dateFmt:'yyyy-MM-dd', maxDate:'#F{$dp.$D(\'V_END\')}'});"/>
结束时间:
<  input name="V_END" class="TextBox" readonly="readonly" id="V_END" type="text"
    onclick="WdatePicker({isShowClear:false, dateFmt:'yyyy-MM-dd', minDate:'#F{$dp.$D(\'V_START\')}', maxDate:'%y-%M-%d'});"/>

  效果展示:

  默认值

  最大开始时间

  最小结束时间与最大结束时间

  说明:

  开始时间和结束时间最好设置默认时间,既有利于数据查出指定区间数据而不是所有数据,又有利于提高用户体验;

  禁用了清空按钮;

  日期格式:yyyy-MM-dd;

  开始时间的最大日期不能大于结束时间;

  结束时间的最小日期不能小于开始时间;

  结束时间的最大日期不能超过系统当前时间。

2.综合运用

  需求说明:

  统计条件为时间段(日、月、年);

  以日单位:x年x月x日- x年x月x日(最大选择范围14天);

  月:x年x月- x年x月(最大选择范围12个月);

  年:x年- x年(最大选择范围10年)。 

  js代码

 

  html代码

查询格式
<  select onchange="ctrlDateFormat(this.value)" id="selectDate">
    <  option value="yyyy">年 
    <  option value="yyyy-MM">年-月 
    <  option value="yyyy-MM-dd">年-月-日 

开始时间:<  input name="V_START" class="TextBox" readonly="readonly" id="V_START" type="text" />
结束时间:<  input name="V_END" class="TextBox" readonly="readonly" id="V_END" type="text" />

  效果展示:

2019/01/14

  上面关于点击事件的代码存在bug:就是第一次变换查询格式,后面的日期格式会变化,以后不管你再怎么变换查询条件,

后面的日期格式都不会生效,解决方案:

  使用jquery先将绑定的点击事件移除掉,再次绑定即可。

$(  '#V_START' ).unbind();
$(  '#V_START' ).click(  function () {
    WdatePicker({
        isShowClear :   false ,
        dateFmt : dateFmt,
        minDate : s_minDate,
        maxDate : s_maxDate
    })
});
$(  '#V_END' ).unbind();
$(  '#V_END' ).click(  function () {
    WdatePicker({
        isShowClear :   false ,
        dateFmt : dateFmt,
        minDate : e_minDate,
        maxDate : e_maxDate
    })
});

2025-05-07 16:30:19

对应sql

方式1:只比较日期

<isNotEmpty prepend="and" property="APPLY_DATE_START">
	C.APPLY_DATE >= TO_DATE(#APPLY_DATE_START#, 'YYYY-MM-DD')
</isNotEmpty>
<isNotEmpty prepend="and" property="APPLY_DATE_END">
	<![CDATA[
	C.APPLY_DATE < TO_DATE(#APPLY_DATE_END#, 'YYYY-MM-DD') + 1
	]]>
</isNotEmpty>

方式2:日期携带时分秒

<isNotEmpty prepend="and" property="APPLY_DATE_START">
	C.APPLY_DATE >= TO_DATE(#APPLY_DATE_START# || ' 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
</isNotEmpty>
<isNotEmpty prepend="and" property="APPLY_DATE_END">
	<![CDATA[
	C.APPLY_DATE <= TO_DATE(#APPLY_DATE_END# || ' 23:59:59', 'YYYY-MM-DD HH24:MI:SS')
	]]>
</isNotEmpty>

 

posted @ 2018-08-28 17:26  Marydon  阅读(1077)  评论(0)    收藏  举报