码迷,mamicode.com
首页 > 其他好文 > 详细

使用My97DatePicke实现时间段选择

时间:2015-10-31 21:25:38      阅读:903      评论:0      收藏:0      [点我收藏+]

标签:

        项目中需要完成对时间段的选择,百度了好多js时间控件,都没有满足,最后发现My97DatePicker。My97DatePicker的具体介绍可以百度,下载地址http://www.my97.net/dp/down.asp,具体的使用可以查看他的API。用了之后才发现原来好多网站用的就是这个插件。

一、完成的效果

技术分享

二、实现代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>日期</title>
     <script type="text/javascript" src="js/My97DatePicker/WdatePicker.js"></script> 
     <script type="text/javascript" src="js/jquery-1.8.0.js"></script> 
     
  </head>
  
  <body>
    <br/>
    <select id="time">
        <option value="1" selected="selected"/>今天
        <option value="2"/>一周内
        <option value="3"/>一个月内
        <option value="4"/>时间段
    </select>
       开始日: <input id="start" type="text" readonly="readonly" disabled="disabled"/> 
    结束日:<input id="end" type="text" readonly="readonly" disabled="disabled"/>

     <script type="text/javascript">

     //格式化日期
    Date.prototype.format = function(format) {
        var o = {
            "M+" : this.getMonth() + 1, //month
            "d+" : this.getDate(), //day
            "h+" : this.getHours(), //hour
            "m+" : this.getMinutes(), //minute
            "s+" : this.getSeconds(), //second
            "q+" : Math.floor((this.getMonth() + 3) / 3), //quarter
            "S" : this.getMilliseconds()
        //millisecond
        }
        if (/(y+)/.test(format))
            format = format.replace(RegExp.$1, (this.getFullYear() + "")
                    .substr(4 - RegExp.$1.length));
        for ( var k in o)
            if (new RegExp("(" + k + ")").test(format)){
                format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k]
                        : ("00" + o[k]).substr(("" + o[k]).length));
                }
        
        return format;
    }
    
    $(function() {
            //当前日期
            var currentDate = new Date();
            var year = currentDate.getFullYear();
            var month = currentDate.getMonth();
            var day = currentDate.getDate();
            //默认为当前日期
            startDate = new Date(year,month,day);
            $("#start").val(startDate.format("yyyy-MM-dd hh:mm:ss"));
            $("#end").val(currentDate.format("yyyy-MM-dd hh:mm:ss"));
            
            $("#time").change(function() {
                var time = $(this).val();
                var startDate;  //开始日
                var endDate; //结束日
                $("#start").attr("disabled",true);
                $("#end").attr("disabled",true);
                $("#start").removeClass();
                $("#end").removeClass();
                switch (time) {
                    //今天(今天凌晨到现在的时间)
                    case 1:
                        startDate = new Date(year,month,day);
                        $("#start").val(startDate.format("yyyy-MM-dd hh:mm:ss"));
                        $("#end").val(currentDate.format("yyyy-MM-dd hh:mm:ss"));
                    break;

                    //一周(当前日-7到现在时间)
                    case 2:
                        var weekDate = new Date(currentDate.getTime() - 7 * 24 * 3600 * 1000);
                        startDate = new Date(weekDate.getFullYear(),weekDate.getMonth(),weekDate.getDate());
                        $("#start").val(startDate.format("yyyy-MM-dd hh:mm:ss"));
                        $("#end").val(currentDate.format("yyyy-MM-dd hh:mm:ss"));
                    break;

                    //一个月(这个月的第一天的凌晨到第二个月第一天的凌晨)
                    case 3:
                        startDate = new Date(year,month,1);
                        endDate = new Date(year,month+1,1);
                        $("#start").val(startDate.format("yyyy-MM-dd hh:mm:ss"));
                        $("#end").val(endDate.format("yyyy-MM-dd hh:mm:ss"));
                    break;

                    //时间段
                    case 4:
                        $("#start").attr("class","Wdate");
                        $("#start").attr("disabled",false);
                        $("#start").focus(function(){
                            WdatePicker({dateFmt:yyyy-MM-dd H:mm:ss,maxDate:#F{$dp.$D(\‘end\‘)||\‘2020-10-01\‘},isShowToday:false,readonly:true});
                        });
                        $("#end").attr("class","Wdate");
                        $("#end").attr("disabled",false);
                        $("#end").focus(function(){
                            WdatePicker({dateFmt:yyyy-MM-dd H:mm:ss,minDate:#F{$dp.$D(\‘start\‘)},maxDate:2020-10-01,isShowToday:false,readonly:true});
                        });
                    break;
                }
        });
    });
</script>
 
  </body>
</html>

使用My97DatePicke实现时间段选择

标签:

原文地址:http://www.cnblogs.com/duoluomengxing/p/4926067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!