My97DatePicker的基本时间格式的使用

一.下载My97DatePicker组件包

下载地址:http://www.my97.net/dp/down.asp(官方下载地址)


二.具体使用

  1.在页面中引用该组件JS文件:

  <script type="text/JavaScript" src="My97DatePicker/WdatePicker.js"></script>

 2:源代码(仅供参考,具体情况,具体分析)

2.1 Jsp源码

<div class="form bgwhite">
                    <ul>
                        <li><select id="timeItem" onchange="changeTime()">
                                <option value="hour">按时</option>
                                <option value="day">按日</option>
                                <option value="week">按周</option>
                                <option value="month">按月</option>
                                <option value="quarter">按季</option>
                                <option value="year">按年</option>
                        </select></li>
                        <li><label>开始时间:</label> <input type="text" id="startTime"
                            value="" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:'true'});"
                            onclick="WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:'true'});"> <label
                            id="endTimeTitle">截止时间:</label> <input type="text" id="endTime"
                            value="" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:'true'});"
                            onclick="WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:'true'});"></li>
                        <li><label>属地:</label> <select id="regionCode">
                                <option value="">全部</option>
                                <gct:option list="${getRegionList}" left="REGION_CD"
                                    right="REGION_CN_NM" withNull="false" value="REGION_CD" />
                        </select>
                        </li>
                        <gct:res code="RES01111">
                            <li><label><span onclick="defaultChangeDivShow()"
                                    class="btn">统计</span></label></li>
                        </gct:res>
                        <div class="clear"></div>
                    </ul>
                </div>

2.2 JavaScript脚本源码

/* 这个方法主要是拼接出选取时间所在周的周一与周日,然后进行显示*/

function funcccS(){
      $dp.$('S').value= $dp.$('startTime').value;
      var now = new Date($dp.$('startTime').value);
      var nowTime = now.getTime() ;
      var day = now.getDay();
      var oneDayTime = 24*60*60*1000 ;
      //显示周一
      var MondayTime = nowTime - (day-1)*oneDayTime ;
      //显示周日
      var SundayTime =  nowTime + (7-day)*oneDayTime ;
      //初始化日期时间
      var monday = new Date(MondayTime);
      var sunday = new Date(SundayTime);
      var  s,e;
      s=monday.getDate();
      e=sunday.getDate();
      if(monday.getDate()<10){
          s="0"+monday.getDate();
      }
      if(sunday.getDate()<10){
          e="0"+sunday.getDate();
      }
      $dp.$('startTime').value=sunday.getFullYear()+"("+(monday.getMonth()+1)+s+"-"+e+")";
     }
/* 这个方法主要是拼接出选取时间所在周的周一与周日,然后进行显示*/
     function funcccE(){
     $dp.$('E').value= $dp.$('endTime').value;
     var now = new Date($dp.$('endTime').value);
     var nowTime = now.getTime() ;
        var day = now.getDay();
        var oneDayTime = 24*60*60*1000 ;
        //显示周一
        var MondayTime = nowTime - (day-1)*oneDayTime ;
        //显示周日
        var SundayTime =  nowTime + (7-day)*oneDayTime ;
        //初始化日期时间
        var monday = new Date(MondayTime);
        var sunday = new Date(SundayTime);
        var  s,e;
      s=monday.getDate();
      e=sunday.getDate();
      if(monday.getDate()<10){
          s="0"+monday.getDate();
      }
      if(sunday.getDate()<10){
          e="0"+sunday.getDate();
      }
        $dp.$('endTime').value=sunday.getFullYear()+"("+(monday.getMonth()+1)+s+"-"+e+")";
     }


/*根据选择类型的不同进行相应的格式化*/
/* 格式化條件時間格式  author:lmw */
    function changeTime(){
          var time= $("#timeItem").val();        
         var monthStartTime=document.getElementById("startTime");
         var monthEndTime  =document.getElementById("endTime");
        if(time=="hour"){
            $("#endTimeTitle").hide();
            $("#endTime").hide();
             monthStartTime.onfocus=function(){
                 WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:'true'});
             }
             monthStartTime.onclick=function(){
                 WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:'true'});
             }
        }
        if(time=="day"){
            $("#endTime").show();
            $("#endTimeTitle").show();
            monthEndTime.onfocus=function(){
                 WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:'true'});
             }
             monthEndTime.onclick=function(){
                 WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:'true'});
             }
             monthStartTime.onfocus=function(){
                 WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:'true'});
             }
             monthStartTime.onclick=function(){
                 WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:'true'});
             }
        }    
         if(time=="week"){
                $("#endTime").show();
                $("#endTimeTitle").show();
                 monthEndTime.onfocus=function(){
                     WdatePicker({isShowWeek:true,onpicked:function() {funcccE();},errDealMode:3,readOnly:'true'});                 
                 }
                 monthEndTime.onclick=function(){
                    /*  WdatePicker({isShowWeek:true,onpicked:function() {$dp.$('endTime').value=$dp.cal.getP('W','WW');}}); */
                 }
                 monthStartTime.onfocus=function(){
                     WdatePicker({isShowWeek:true,onpicked:function() {funcccS();},errDealMode:3,readOnly:'true'});
                 }
                 monthStartTime.onclick=function(){
                    /*  WdatePicker({isShowWeek:true,onpicked:function() {$dp.$('startTime').value=$dp.cal.getP('W','W');}}); */
                 }
         }
        if(time=="month"){
            $("#endTime").show();
            $("#endTimeTitle").show();
         monthEndTime.onfocus=function(){
             WdatePicker({dateFmt:'yyyy-MM',readOnly:'true'});
         }
         monthEndTime.onclick=function(){
             WdatePicker({dateFmt:'yyyy-MM',readOnly:'true'});
         }
         monthStartTime.onfocus=function(){
             WdatePicker({dateFmt:'yyyy-MM',readOnly:'true'});
         }
         monthStartTime.onclick=function(){
             WdatePicker({dateFmt:'yyyy-MM',readOnly:'true'});
         }
        }
        if(time=="quarter"){
            $("#endTime").show();
            $("#endTimeTitle").show();
         monthEndTime.onfocus=function(){
             WdatePicker({dateFmt:'yyyy年MM季度',disabledDates:['....-0[5-9]-..','....-1[0-2]-..'],startDate:['%y-01-01'],readOnly:'true'});
         }
         monthEndTime.onclick=function(){
             WdatePicker({dateFmt:'yyyy年MM季度',disabledDates:['....-0[5-9]-..','....-1[0-2]-..'],startDate:['%y-01-01'],readOnly:'true'});
         }
         monthStartTime.onfocus=function(){
             WdatePicker({dateFmt:'yyyy年MM季度',disabledDates:['....-0[5-9]-..','....-1[0-2]-..'],startDate:['%y-01-01'],readOnly:'true'});
         }
         monthStartTime.onclick=function(){
             WdatePicker({dateFmt:'yyyy年MM季度',disabledDates:['....-0[5-9]-..','....-1[0-2]-..'],startDate:['%y-01-01'],readOnly:'true'});
         }
        }
        if(time=="year"){
            $("#endTime").show();
            $("#endTimeTitle").show();
               monthEndTime.onfocus=function(){
                   WdatePicker({dateFmt:'yyyy',readOnly:'true'});
               }
               monthEndTime.onclick=function(){
                   WdatePicker({dateFmt:'yyyy',readOnly:'true'});
               }
               monthStartTime.onfocus=function(){
                   WdatePicker({dateFmt:'yyyy',readOnly:'true'});
               }
               monthStartTime.onclick=function(){
                   WdatePicker({dateFmt:'yyyy',readOnly:'true'});
               }
        }
    }


因为我介绍的是My97的基本时间格式的使用,所以我的这个页面也包含常用的几种基本格式,默认是显示小时(注意我这里的小时并不是传统意义上的小时(hh:mm:dd),我这里的小时时间格式是(yyyy-MM-dd),之所以我这里小时的时间格式是这样,业务需求的需要)

2.3 效果图

按小时


按日


按星期


按月


按季度


按年


三。常用的配置信息(更多配置信息请参考,官方详细配置地址:http://www.my97.net/dp/demo/index.htm)

配置信息主要在onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:true})" 的WdatePicker 方法的 { } 对象中定义。
常用的配置信息在 WdatePicker.js 文件中定义了。

var $dp,WdatePicker;(function(){var _={
$wdate:true,
$dpPath:"",
$crossFrame:true,
doubleCalendar:false, //是否双月日历
autoUpdateOnChanged:false,
position:{}, //位置如:position:{left:100,top:50}
lang:"auto",
skin:"default", //皮肤
dateFmt:"yyyy-MM-dd", //日期格式
realDateFmt:"yyyy-MM-dd",
realTimeFmt:"HH:mm:ss",
realFullFmt:"%Date %Time",
minDate:"1900-01-01 00:00:00", //最小日期
maxDate:"2099-12-31 23:59:59", //最大日期
startDate:"", //起始日期
alwaysUseStartDate:false, //当日期框无论是何值,始终使用 startDate 做为起始日期
yearOffset:1911,
firstDayOfWeek:0, //自定义星期的第一天
isShowWeek:false, //是否显示周
highLineWeekDay:true, //高亮周日
isShowClear:true, //是否显示清空
isShowToday:true, //是否显示今天
isShowOK:true,  //是否显示OK
isShowOthers:true,
readOnly:false, //是否只读
qsEnabled:true,
errDealMode:0, //自动纠错功能
//0 在输入错误日期时,会先提示
//1 在输入错误日期时,自动恢复前一次正确的值
//2 在输入错误日期时,不做提示和更改,只是做一个标记,但此时日期框不会马上隐藏
autoPickDate:null, //点两次才能选择日期的原因
//为false时 点日期的时候不自动输入,而是要通过确定才能输入
//为true时 即点击日期即可返回日期值
//为null时(推荐使用) 如果有时间置为false 否则置为true
specialDates:null, //特殊日期
specialDays:null,  //特殊天
disabledDates:null, //无效日期 如:disabledDates:['5$']
disabledDays:null, //无效天 如:disabledDays:[6]
opposite:false, //有效日期

猜你喜欢

转载自blog.csdn.net/qq_36090463/article/details/72991793