一、什麼是ISO 8601日期時間格式
ISO 8601是國際标準化組織制定的日期時間表示規範,全稱是《資料存儲和交換形式·資訊交換·日期和時間的表示方法》。
示例:
1. 2014-12-12T00:00:00.000Z
2. 2014-12-12T00:00:00.000+08
3. 2014-12-12T00:00:00.000+0800
4. 2014-12-12T00:00:00.000+08:00
5. 2004-W17-3
6. 0001-165
詳細說明請參考度娘:http://baike.baidu.com/link?url=Qr7NLClAyUHihOCl1DK6DQL_gMw5rk3euXdiz3zt6M9ORGFS2XBy7LHmcO2ID-iz
二、Javascript中實作的ISO 8601日期時間格式
度娘後大家應該對ISO 8061有一定的了解了吧。ISO
8601的内容十分豐富,可惜Javascript僅僅實作一小部分而已,不過這一部分就夠我們用了。
javascript支援的ISO 8061格式如下:
1. 2014-12-12T00:00:00.000Z
2. 2014-12-12T00:00:00.000+0800
3. 2014-12-12T00:00:00.000+08:00
二、ES5中涉及ISO 8061日期時間格式的方法
1. Date.parse({String}
datetime) :接收ISO
8061和GMT的日期時間格式字元串(根據格式内容被識别為0時區或其他時區的日期時間),傳回入參所表示的0時區日期時間距離1970年1月1日的毫秒數。
2. Date.prototype.toISOString() :傳回目前Date類型對象0時區的ISO
8061日期時間格式字元串。形如:2014-12-12T00:00:00.000Z
3. new
Date({String} datetime) :構造函數的入參在ES5中新增接收ISO
8061格式字元串,其實内部就是調用 Date.parse({String}
datetime) 進行轉換。
4. Date.prototype.toJSON() :傳回目前Date類型對象0時區的ISO
8061日期時間格式字元串。形如:2014-12-12T00:00:00.000Z。
三、認識ES3下的Date類型
1. 作為構造函數使用
2. 作為函數使用
3. 類成員
3.1. Date.parse({String}
datetime) :接收GMT的日期時間格式字元串(根據GMT格式内容被識别為0時區或其他時區的日期時間),傳回入參所表示的0時區日期時間距離1970年1月1日的毫秒數
3.2. Date.UTC(Y,M,d,H,m,s,ms) :設定0時區的日期時間,傳回入參所表示的0時區日期時間距離1970年1月1日的毫秒數
4. 部分執行個體成員
4.1. Date.prototype.toGMTString() :傳回目前Date對象的GMT日期時間格式字元串(僅為了向後相容而已)
4.2. Date.prototype.toUTCString() :傳回目前Date對象的GMT日期時間格式字元串(建議使用該方法)
四、一起Polyfill
五、總結
上述實作相對es5-shim來講考慮的地方仍有欠缺,這源于我對日期時間格式的了解不夠完整,是以請大家多多見諒。
原創文章,轉載請注明來自^_^肥仔John[]
本文位址: (本篇完)
如果您覺得本文的内容有趣就掃一下吧!捐贈互勉!
??
