<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 5, 文章 - 0, 評論 - 20, 引用 - 0
    數(shù)據(jù)加載中……

    處理一些和日期有關(guān)的動作

    /*
    -------------------------------------------------------------------------------
    文件名稱:date.js
    說    明:JavaScript腳本,處理一些和日期有關(guān)的動作
    版    本:1.0
    修改紀錄:
    ---------------------------------------------------------------------------
    時間        修改人      說明
    2005-4-20   zhouming        創(chuàng)建
    -------------------------------------------------------------------------------    
    */


    /*
    用途:把日期從一種格式轉(zhuǎn)換為另一種格式
    輸入:date:日期;fmt1:原來的格式;fmt2 轉(zhuǎn)換成的格式
    返回:fmt2格式的日期
    格式:年:yyyy   月:MM  日:dd
                時:HH   分:mm  秒:ss
    */
    function dateFormat( date, fmt1,fmt2) {
        if (isFormatDate( date, fmt1)) {
           if (fmt2.indexOf("yyyy")!=-1&&fmt2.indexOf("MM")!=-1&&fmt2.indexOf("dd")!=-1){
            //設(shè)置日期
                  var retDate = setDate( date, fmt1,fmt2);
         if (fmt2.indexOf("HH")!=-1&&fmt2.indexOf("mm")!=-1&&fmt2.indexOf("ss")!=-1){
            //設(shè)置時間
         retDate = setTime(date, fmt1,retDate);
           }
         return retDate;
        }
        else {
             alert("日期格式錯誤");
        }
        }
        else {
            alert("日期格式錯誤");
        }
        return "";
    }

     

    /*
    用途:判斷是否是日期
    輸入:date:日期;fmt:日期格式
    返回:如果通過驗證返回true,否則返回false
    */
    function isFormatDate( date, fmt) {
        var yIndex = fmt.indexOf("yyyy");
        if(yIndex==-1) return false;
       var year = date.substring(yIndex,yIndex+4);
       var mIndex = fmt.indexOf("MM");
        if(mIndex==-1) return false;
       var month = date.substring(mIndex,mIndex+2);
       var dIndex = fmt.indexOf("dd");
        if(dIndex==-1) return false;
       var day = date.substring(dIndex,dIndex+2);
        if(!isNumber(year)||year>"2100" || year< "1900") return false;
        if(!isNumber(month)||month>"12" || month< "01") return false;
        if(day>getMaxDay(year,month) || day< "01") return false;
        return true;
    }

    //取得某個月的最大天數(shù)
    function getMaxDay(year,month) {
        if(month==4||month==6||month==9||month==11)
            return "30";
        if(month==2)
            if(year%4==0&&year%100!=0 || year%400==0)
                return "29";
            else
                return "28";
        return "31";
    }

    function isNumber( str ){ 
        var regu = /^(\d+)$/;
            return regu.test(str);
    }

    function setDate( date, fmt1,fmt2) {
            var yIndex = fmt1.indexOf("yyyy");
            var year = date.substring(yIndex,yIndex+4);
            var mIndex = fmt1.indexOf("MM");
            var month = date.substring(mIndex,mIndex+2);
            var dIndex = fmt1.indexOf("dd");
            var day = date.substring(dIndex,dIndex+2);
            var retDate = fmt2;
            retDate = retDate.replace(/yyyy/i,year);
            retDate = retDate.replace(/MM/i,month);
            retDate = retDate.replace(/dd/i,day);
            return retDate ;
    }

    function setTime( date, fmt1,retDate) {
            var hour ="00";
            var min ="00";
            var sec ="00";
            var hIndex = fmt1.indexOf("HH");
            var mIndex = fmt1.indexOf("mm");
            var sIndex = fmt1.indexOf("ss");
            if(sIndex!=-1&&hIndex!=-1&&mIndex!=-1) {
       sec = date.substring(sIndex,sIndex+2);
       min = date.substring(mIndex,mIndex+2);
       hour = date.substring(hIndex,hIndex+2);
       if(!isNumber(hour)||hour>"23" || hour< "00") {alert("日期格式錯誤"); return ""};
       if(!isNumber(min)||min>"59" || min< "00") {alert("日期格式錯誤"); return ""};
       if(!isNumber(sec)||sec>"59" || sec< "00") {alert("日期格式錯誤"); return ""};
      }
      else if (!(sIndex==-1&&hIndex==-1&&mIndex==-1))
      {
                alert("日期格式錯誤");
       return "";
            }
            retDate = retDate.replace(/HH/i,hour);
            retDate = retDate.replace(/mm/i,min);
            retDate = retDate.replace(/ss/i,sec);
      return retDate;
    }

    posted on 2007-09-18 08:46 primeton 閱讀(848) 評論(4)  編輯  收藏

    評論

    # re: 處理一些和日期有關(guān)的動作  回復  更多評論   

    樓主JS玩得很厲害啊
    2007-09-18 09:21 | 千里冰封

    # re: 處理一些和日期有關(guān)的動作  回復  更多評論   

    太厲害了,什么時候我才能學到這個地步啊,讓爐子的火不再是黃的,讓它邊青!
    2007-09-18 15:44 | 楊愛友

    # re: 處理一些和日期有關(guān)的動作  回復  更多評論   

    太不靈活了。
    時間必須為yyyyMMdd,如果想格式化成yyyyMM都不行。
    2007-09-19 16:42 | bean

    # re: 處理一些和日期有關(guān)的動作  回復  更多評論   

    怎么把Sat Now 10 15:30:00 UTC+0800 2007轉(zhuǎn)換成11/5和2007-10-15兩種格式?
    2007-11-05 16:33 | xx

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 久久国产免费一区二区三区 | 中文字幕免费在线视频| 亚洲精品乱码久久久久久自慰| 午夜网站在线观看免费完整高清观看 | 亚洲AV无码一区二区三区网址| MM131亚洲国产美女久久| 无码日韩精品一区二区三区免费 | 免费a级毛片无码a∨免费软件| 亚洲jjzzjjzz在线播放| 亚洲福利在线播放| 亚欧日韩毛片在线看免费网站| 亚洲人成电影网站色www| 国产亚洲精品福利在线无卡一| 美女视频黄的全免费视频网站| 一区二区三区在线免费观看视频| 91亚洲国产成人精品下载| 免费在线观看黄网站| 91免费福利精品国产| 国产亚洲蜜芽精品久久| 亚洲高清日韩精品第一区| 免费国产美女爽到喷出水来视频| 中文字幕免费视频| GOGOGO免费观看国语| 亚洲а∨精品天堂在线| 亚洲色图黄色小说| 亚洲中文字幕无码一区| 午夜一级免费视频| 精品国产污污免费网站aⅴ| 国产高清对白在线观看免费91 | 无码专区AAAAAA免费视频| 老司机午夜免费视频| 亚洲一卡2卡4卡5卡6卡残暴在线| 一本色道久久综合亚洲精品| 国产男女猛烈无遮挡免费视频| 999久久久免费精品播放| 中国一级特黄的片子免费| 无忧传媒视频免费观看入口| 在线综合亚洲中文精品| 亚洲精品美女在线观看| 久久精品国产亚洲AV麻豆~| 亚洲一区无码精品色|