javascript強大的日期函數(shù)代碼分享
更新時間:2013年09月04日 16:28:44 作者:
這篇文章介紹了javascript強大的日期函數(shù)代碼,有需要的朋友可以參考一下
復(fù)制代碼 代碼如下:
var date = function( a, s ) {
var d = s ? new Date( s ) : new Date(), f = d.getTime();
return ( '' + a ).replace( /a|A|d|D|F|g|G|h|H|i|I|j|l|L|m|M|n|s|S|t|T|U|w|y|Y|z|Z/g, function ( a ) {
switch ( a ) {
case 'a' : return d.getHours() > 11 ? 'pm' : 'am';
case 'A' : return d.getHours() > 11 ? 'PM' : 'AM';
case 'd' : return ( '0' + d.getDate() ).slice(-2);
case 'D' : return [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ][ d.getDay() ];
case 'F' : return [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ][ d.getMonth() ];
case 'g' : return ( s = ( d.getHours() || 12 ) ) > 12 ? s - 12 : s;
case 'G' : return d.getHours();
case 'h' : return ( '0' + ( ( s = d.getHours() || 12 ) > 12 ? s - 12 : s ) ).slice(-2);
case 'H' : return ( '0' + d.getHours() ).slice(-2);
case 'i' : return ( '0' + d.getMinutes() ).slice(-2);
case 'I' : return (function(){ d.setDate(1); d.setMonth(0); s = [ d.getTimezoneOffset() ]; d.setMonth(6); s[1] = d.getTimezoneOffset(); d.setTime( f ); return s[0] == s[1] ? 0 : 1; })();
case 'j' : return d.getDate();
case 'l' : return [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ][ d.getDay() ];
case 'L' : return ( s = d.getFullYear() ) % 4 == 0 && ( s % 100 != 0 || s % 400 == 0 ) ? 1 : 0;
case 'm' : return ( '0' + ( d.getMonth() + 1 ) ).slice(-2);
case 'M' : return [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ][ d.getMonth() ];
case 'n' : return d.getMonth() + 1;
case 's' : return ( '0' + d.getSeconds() ).slice(-2);
case 'S' : return [ 'th', 'st', 'nd', 'rd' ][ ( s = d.getDate() ) < 4 ? s : 0 ];
case 't' : return (function(){ d.setDate(32); s = 32 - d.getDate(); d.setTime( f ); return s; })();
case 'T' : return 'UTC';
case 'U' : return ( '' + f ).slice( 0, -3 );
case 'w' : return d.getDay();
case 'y' : return ( '' + d.getFullYear() ).slice(-2);
case 'Y' : return d.getFullYear();
case 'z' : return (function(){ d.setMonth(0); return d.setTime( f - d.setDate(1) ) / 86400000; })();
default : return -d.getTimezoneOffset() * 60;
};
} );
};
您可能感興趣的文章:
- 巧用批處理解決IE不支持JavaScript等問題
- javascript 格式化時間日期函數(shù)代碼腳本之家修正版
- JavaScript性能優(yōu)化 創(chuàng)建文檔碎片(document.createDocumentFragment)
- 自己整理的一個javascript日期處理函數(shù)
- JavaScript(JS) 壓縮 / 混淆 / 格式化 批處理工具
- 高性能Javascript筆記 數(shù)據(jù)的存儲與訪問性能優(yōu)化
- JavaScript中的無阻塞加載性能優(yōu)化方案
- javascript中日期函數(shù)new Date()的瀏覽器兼容性問題
- javascript日期處理函數(shù),性能優(yōu)化批處理
相關(guān)文章
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的區(qū)別和應(yīng)用場景簡述
隨著web2.0的彪悍發(fā)展,以及瀏覽器端所承載的工作越來越大(在不是很影響性能的情況下,開發(fā)者都習(xí)慣把能用瀏覽器做的事兒都讓瀏覽器做,以減輕服務(wù)器的壓力和帶寬費用等)。2010-04-04JS基于MSClass和setInterval實現(xiàn)ajax定時采集信息并滾動顯示的方法
這篇文章主要介紹了JS基于MSClass和setInterval實現(xiàn)ajax定時采集信息并滾動顯示的方法,涉及JavaScript頁面元素定時滾動操作及ajax調(diào)用實現(xiàn)技巧,需要的朋友可以參考下2016-04-04JavaScript遍歷數(shù)組和對象的元素簡單操作示例
這篇文章主要介紹了JavaScript遍歷數(shù)組和對象的元素簡單操作,結(jié)合實例形式分析了javascript數(shù)組與對象元素遍歷相關(guān)操作技巧與注意事項,需要的朋友可以參考下2019-07-07ES6標(biāo)準 Arrow Function(箭頭函數(shù)=>)
ES6標(biāo)準新增了一種新的函數(shù):Arrow Function(箭頭函數(shù)),為什么叫Arrow Function?因為它的定義用的就是一個箭頭2020-05-05Javascript基于OOP實實現(xiàn)探測器功能代碼實例
這篇文章主要介紹了Javascript基于OOP實實現(xiàn)探測器功能代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08