你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> ISO 8601日期擴展格式 與UTC 時間類型的相互轉化

ISO 8601日期擴展格式 與UTC 時間類型的相互轉化

編輯:IOS開發綜合

ISO 8601擴展格式 YYYY-MM-DDTHH:mm:ss.sssZ 例如:(下圖中紅色邊框圈起來的部分)


注意:只有兼容ECMAScript 5的實現才支持這種格式。支持這種時間格式的浏覽器有:IE9,Chrome,FireFox,Safari等,IE9之前的IE浏覽器 不支持這種時間格式。

將ISO 8601時間類型轉化為UTC時間類型的方法如下(兼容及不兼容ECMAScript 5的浏覽器都適用):

[javascript]
Date.prototype.setISO8601 = function (string) { 
        var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" + 
            "(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" + 
            "(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?"; 
        if(string) 
        { 
            var d = string.match(new RegExp(regexp)); 
            var offset = 0; 
            var date = new Date(d[1], 0, 1); 
 
            if (d[3]) { 
                date.setMonth(d[3] - 1); 
            } 
            if (d[5]) { 
                date.setDate(d[5]); 
            } 
            if (d[7]) { 
                date.setHours(d[7]); 
            } 
            if (d[8]) { 
                date.setMinutes(d[8]); 
            } 
            if (d[10]) { 
                date.setSeconds(d[10]); 
            } 
            if (d[12]) { 
                date.setMilliseconds(Number("0." + d[12]) * 1000); 
            } 
            if (d[14]) { 
                offset = (Number(d[16]) * 60) + Number(d[17]); 
                offset *= ((d[15] == '-') ? 1 : -1); 
            } 
            offset -= date.getTimezoneOffset(); 
            time = (Number(date) + (offset * 60 * 1000)); 
            this.setTime(Number(time)); 
        } 
        else 
        { 
            return; 
        } 
    } 
引用方法如下:
[html] 
var today = new Date(); 
today.setISO8601(temprature_time_sorted_uniq[i].tm); 
其中temprature_time_sorted_uniq[i].tm 是傳遞給函數的ISO 8601類型的時間參數。它的值如下:

 

轉化後的值為:

 

如果想把UTC格式轉化為ISO 8601

[html] 
function ISODateString(d) { 
    function pad(n){ 
        return n<10 ? '0'+n : n 
    } 
    return d.getUTCFullYear()+'-' 
    + pad(d.getUTCMonth()+1)+'-' 
    + pad(d.getUTCDate())+'T' 
    + pad(d.getUTCHours())+':' 
    + pad(d.getUTCMinutes())+':' 
    + pad(d.getUTCSeconds())+'Z' 

引用方式:

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved