`
dt307912199
  • 浏览: 6896 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

My97DatePicker使用js控制日期范围

阅读更多
解决IE下不兼容Date.toLocalString()和Date.parse()这两个方法,IE下js的日期格式必须是:月/日/年格式的字符串,才能进行Date.parse格式化并作Number运算,以下实现写法,兼容Firefox,IE,Google,Opera等主流浏览器

// js控制mydate97控件中日期的显示
    function maxDate(){
        var mindate = $("#startDate").val();// 系统中选择的最小日期
        var currentDate = new Date();// 当前日期
        var year = currentDate.getFullYear();// 当前年份
        var month = currentDate.getMonth() + 1;// 当前月份
        var day = currentDate.getDate();// 当前天数
      
        if(mindate == ""){ // 根据当前日期,获取前一天日期
            var d = new Date(Date.parse(currentDate) - (86400000 * 1));
            var mmonth = Number(d.getMonth()) + 1;
            return d.getFullYear() + "-" + mmonth + "-" + d.getDate();
        }
        // 最小日期不为空
        var mdate = mindate.split("-");
        mindate = mdate[1] + "/" + mdate[2] + "/" + mdate[0];// 转换日期字符串为兼容模式下的日期格式, 月/日/年
        var minMonth = "04|06|09|11";// 小月月份集合
        var februray = 28;// 平年的二月月份天数
        var daynum = 31; // 默认为大月份天数
        if(( mdate[0] % 4 == 0 && mdate[0] % 100 != 0 ) || mdate[0] % 400 == 0){
            februray = 29;// 闰年的二月的月份天数
        }
        if(mdate[0] == year && Number(mdate[1]) == month ){// 同年同月
            if(Number(mdate[2]) + 10 >= day){
                // 根据当前日期,获取前一天日期
                var d = new Date(Date.parse(currentDate) - (86400000 * 1));
                var mmonth = Number(d.getMonth()) + 1;
                return d.getFullYear() + "-" + mmonth + "-" + d.getDate();
            }else if(Number(mdate[2]) + 10 < day){
                // 根据系统选择的最小日期,获取9天后的日期
                var d = new Date(Date.parse(mindate) + (86400000 * 9));
                var mmonth = Number(d.getMonth()) + 1;
                return d.getFullYear() + "-" + mmonth + "-" + d.getDate();
            }
        }else if(mdate[0] == year && Number(mdate[1]) < month){// 同年不同月
            if(mdate[1].indexOf(minMonth) >= 0){
                daynum = 30;
            }else if(mdate[1] == "02"){
                daynum = februray; // 如果为2月份
            }
            // 最小日期加上10,小于该月的最大天数
            if( Number(mdate[2]) + 10 <= Number(daynum) || Number(mdate[1]) + 1 < month){
                // 根据系统选择的最小日期,获取9天后的日期
                var d = new Date(Date.parse(mindate) + (86400000 * 9));
                var mmonth = Number(d.getMonth()) + 1;
                return d.getFullYear() + "-" + mmonth + "-" + d.getDate();
            }
          
            // 与当前月份相邻
            if(Number(mdate[2]) + 10 > Number(daynum) && Number(mdate[1]) + 1 == month){
                var during = Number(mdate[2]) + 10 - Number(daynum);
                if(Number(during) >= day){
                    // 根据当前日期,获取前一天日期
                    var d = new Date(Date.parse(currentDate) - (86400000 * 1));
                    var mmonth = Number(d.getMonth()) + 1;
                    return d.getFullYear() + "-" + mmonth + "-" + d.getDate();
                }else if(Number(during) < day){
                    // 根据系统选择的最小日期,获取9天后的日期
                    var d = new Date(Date.parse(mindate) + (86400000 * 9));
                    var mmonth = Number(d.getMonth()) + 1;
                    return d.getFullYear() + "-" + mmonth + "-" + d.getDate();
                }
            }
        }else{
            // 根据系统选择的最小日期,获取9天后的日期
            var d = new Date(Date.parse(mindate) + (86400000 * 9));
            var mmonth = Number(d.getMonth()) + 1;
            return d.getFullYear() + "-" + mmonth + "-" + d.getDate();
        }
    }
    // 截止日期的最小日期
    function minDate(){
        var mindate = $("#startDate").val();// 系统中选择的最小日期
        return mindate;
    }

表单中控件引用
<input type="text" name="startDate" id="startDate"
onclick="WdatePicker({dateFmt:'yyyy-MM-dd', minDate:'#F{$dp.$D(\'endDate\',{d:-9})}', maxDate:'#F{$dp.$D(\'endDate\')}',readOnly:true})" />-
<input type="text" name="endDate" id="endDate" 
maxlength="10" style="width: 69px;"onclick="WdatePicker({dateFmt:'yyyy-MM-dd', minDate:minDate(), maxDate:maxDate(), readOnly:true})" />
0
0
分享到:
评论

相关推荐

    My97DatePicker使用 日期获取

    My97 DatePicker是一款非常流行的JavaScript日期选择插件,尤其在Web开发中被广泛使用。它提供了丰富的自定义功能和友好的用户界面,使得在网页上处理日期输入变得更加简单。本文将详细介绍如何利用My97 DatePicker...

    日期控件My97DatePicker的使用

    My97DatePicker是一款在中国广泛应用的JavaScript日期选择控件,它为网页开发者提供了强大的日期输入功能。这款控件以其丰富的自定义选项、良好的兼容性和用户体验而备受赞誉。在本文中,我们将深入探讨My97...

    My97DatePicker js的时间日期控件

    My97DatePicker是一款广泛应用于Web开发中的JavaScript时间日期选择插件,它为用户提供了便捷的日期选择界面,极大地提高了用户体验。这款控件以其强大的功能、灵活的配置选项以及良好的兼容性,深受开发者喜爱。 ...

    My97DatePicker(几种日历控件/js/实例演示)

    My97DatePicker是一款广泛使用的JavaScript日期选择器控件,它为网页中的日期输入提供了便捷的交互体验。这个控件以其高效、易用和高度可定制性而受到开发者的青睐。在网页开发中,日期选择器通常用于用户输入日期时...

    MY97datepicker.rar

    《MY97DatePicker:一款备受青睐的JavaScript日期选择器组件》 在网页开发中,日期选择器是一个不可或缺的元素,它使得用户能够方便地输入或选择日期,提升了用户体验。MY97DatePicker是一款广受欢迎的JavaScript...

    日历控件my97datepicker

    My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名 My97DatePicker.htm是必须文件,不可删除 各目录及文件的用途: WdatePicker.js 配置文件,在调用的地方仅需使用该文件 ...

    My97DatePicker日期控件

    My97DatePicker是一款在中国广泛应用的JavaScript日期选择器控件,以其美观、易用和高度可定制的特点深受开发者喜爱。这款控件主要用于网页上提供一个友好的日期输入界面,让用户能够更方便地选择和输入日期,提高了...

    ext JS集成My97DatePicker日期控件

    Ext JS是一个强大的JavaScript库,用于构建富客户端应用程序,而My97 DatePicker是一款广受欢迎的JavaScript日期选择器,因其自定义功能丰富、兼容性好而被广泛应用。 首先,让我们深入了解一下这两个关键组件: 1...

    My97DatePicker.zip

    《My97DatePicker:一款基于jQuery的高效日期选择器组件》 在网页开发中,日期选择器是一个不可或缺的元素,它极大地提升了用户交互体验。My97 DatePicker 是一个基于 jQuery 的强大日期选择器插件,它以其易用性、...

    My97DatePicker JS日历控件

    My97 DatePicker是由中国开发者杨海超创建的一款高效、灵活、易用的JavaScript日期选择插件。4.8 Beta4是其稳定且功能丰富的版本之一,发布于2013年10月10日。这个版本在前一版本的基础上进行了优化,提高了性能,并...

    jsp页面使用My97DatePicker日历控件就经常出现无法打开站点

    My97DatePicker是一款广泛使用的JavaScript日期选择插件,它为jsp页面提供了一种方便、美观的日期选取方式。然而,在实际应用中,可能会遇到“无法打开站点”的问题,这可能是由多种原因引起的。以下我们将详细探讨...

    日期控件My97DatePicker

    My97DatePicker是一款在中国广泛应用的JavaScript日期控件,它提供了丰富的日期选择功能,适用于网页上的日期输入场景。这款控件以其易用性、灵活性和高度自定义性深受开发者喜爱。在网页开发中,日期选择器是必不可...

    My97DatePicker 选择季度功能

    My97DatePicker是一款在中国广泛应用的JavaScript日期选择器插件,尤其在Web开发中,它以其强大的功能和良好的用户体验而受到青睐。在这个特定的场景中,我们关注的是如何利用My97DatePicker来实现选择季度的功能。 ...

    My97DatePicker使用说明文档及插件

    My97DatePicker是一款在中国广泛应用的JavaScript日期选择器插件,尤其在Web开发中,它以其易用性、灵活性和丰富的自定义选项而受到开发者们的欢迎。这个插件为网页中的日期输入提供了用户友好的界面,使得用户可以...

    My97DatePicker 4.7

    一款很不错的基于JavaScript的日期控件——My97DatePicker,这是官方早两天更新修正的最新版本 v4.7 ,去掉了原有包中一些无用文件。本JS日历使用者非常多,因为其功能比较多,它可以定义多种形式的调用方法:比如...

    My97DatePicker前端日期插件

    My97DatePicker允许开发者进行深度定制,包括但不限于日期范围限制、是否显示星期、是否开启时间选择、快捷选择项等。例如,设定最小日期和最大日期: ```javascript WdatePicker({ minDate: '-1d', maxDate: '+1...

    My97DatePicker4.0

    总的来说,My97DatePicker4.0是一款高效、灵活的JavaScript日期选择控件,它提供了丰富的功能和高度的自定义性,能够帮助开发者轻松地在网页中实现日期选择功能。无论是小型个人项目还是大型企业应用,My97...

    My97DatePicker

    &lt;script type="text/javascript" src="My97DatePicker/WdatePicker.js"&gt; ()" type="text" /&gt; ``` 在上述代码中,`onclick`事件触发了插件的日期选择功能,`WdatePicker()`是插件提供的全局函数,当用户点击输入框时...

    My97DatePicker.rar

    My97 DatePicker是由中国开发者王维汉(Wang Wei Han)创建的一款开源JavaScript日期选择器。它以其简洁的界面、流畅的操作体验以及丰富的自定义选项,成为了许多网站的标准组件。My97 DatePicker支持多种语言,包括...

Global site tag (gtag.js) - Google Analytics