日誌 - tacoball 的日誌
 訂閱 tacoball 的日誌

2006/05/26
好孩子的強化 Date 物件 parse 功能程式碼

作者: tacoball (09:49:14)
用途自己理解XD
Date._parse Date.parse;
Date.parse = function (date_str) {
    
//regex to match wc3dtf
    
var Date._parse(date_str);
    if (
isNaN(t)) {
        var 
format = /(d{4})-(d{2})-(d{2})T(d{2}):(d{2}):((d{2}))?(?:([-+])(d{2}):?(d{2})|(Z))?/;
        var 
match date_str.match(format)  
        if (
match) {
            var 
year match[1];
            var 
month match[2];
            var 
day match[3];
            var 
hours match[4];
            var 
minutes match[5];
            var 
seconds match[6];
            
//calc epoch for current date assuming GMT
            
var gmmktime = new Date();
            
gmmktime.setUTCFullYear(year);
            
gmmktime.setUTCMonth(month-1);
            
gmmktime.setUTCDate(day);
            
gmmktime.setUTCHours(hours);
            
gmmktime.setUTCMinutes(minutes);
            
gmmktime.setUTCSeconds(seconds);
        
            var 
epoch gmmktime.getTime();
            var 
offset 0;
            if ( 
match[10] != 'Z' ) {
                var 
tz_mod match[8];
                var 
tz_hour match[9];
                var 
tz_min match[10];
                
// zero out the variables
                
if ( ! tz_hour ) { tz_hour 0; }
                if ( ! 
tz_min ) { tz_min 0; }
        
                var 
offset_secs = ((tz_hour*60)+tz_min)*60;
        
                
// is timezone ahead of GMT?  then subtract offset
                
if ( tz_mod == '+' ) {
                    
offset_secs offset_secs * -1;
                }
                
offset offset_secs;
            }
            
epoch epoch offset;
            return 
epoch;
        }
        else {
            return 
NaN;
        }
    } else {
        return 
t;
    }
}
閱讀 tacoball 的日誌 | 迴響 (0) | 引用次數 (0) | 瀏覽次數 (3925)
列印這一篇日誌 發送這篇日誌給你的朋友(Email)
網友個人意見,不代表本站立場,對於發言內容,由發表者自負責任。
發表評論
評論規則*
任何人都可以發表評論
標題*
姓名*
信箱*
網站*
內容*
確認碼*
9 - 8 = ?  
輸入運算式的結果
您最多可以嘗試:10 次

日誌月曆

        

會員登入

小老虎成長中

小小龍成長中

搜尋




JUMP to TOP - 28.11.2024 -