時間格式處理

/*  * 日期處理工具類  * 20130731  */ dev.DateToolBox = (function() {   /*按照指定的格式轉換目標日期*/   var _getDateByFormat = function(sourceDate, format) {     var o = {       "M+" : sourceDate.getMonth() + 1, //月份       "d+" : sourceDate.getDate(), //日       "h+" : sourceDate.getHours() % 12 == 0 ? 12 : sourceDate.getHours() % 12, //小時       "H+" : sourceDate.getHours(), //小時       "m+" : sourceDate.getMinutes(), //分       "s+" : sourceDate.getSeconds(), //秒       "q+" : Math.floor((sourceDate.getMonth() + 3) / 3), //季度       "S" : sourceDate.getMilliseconds() //毫秒     };     var week = {       "0" : "/u65e5",       "1" : "/u4e00",       "2" : "/u4e8c",       "3" : "/u4e09",       "4" : "/u56db",       "5" : "/u4e94",       "6" : "/u516d"     };     if (/(y+)/.test(format)) {       format = format.replace(RegExp.$1, (sourceDate.getFullYear() + "").substr(4 - RegExp.$1.length));     }     if (/(E+)/.test(format)) {       format = format.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "/u661f/u671f" : "/u5468") : "") + week[sourceDate.getDay() + ""]);     }     for (var k in o) {       if (new RegExp("(" + k + ")").test(format)) {         format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));       }     }     return format;   };   /*返回當前的Date對象*/   var _getNowDate = function() {     return new Date();   };   /*返回當前時間戳*/   var _getNowTime = function() {     var date = new Date();     return date.getTime();   };   /*計算並返回當前時間所在天然月第一天對應的日期*/   var _getFirstDateOfMonth = function(format) {     var nowTime = _getNowDate();     var monthFirstDay = new Date(nowTime.getFullYear(), nowTime.getMonth(), 1);     return format ? _getDateByFormat(monthFirstDay, format) : monthFirstDay;   };   /*    * 單例的實現    */   /*    * 內部定義DateToolBox的實例    * 經過該實例,爲外部提供接口    */   var dateToolBoxInstance = {     getCurrentTime : function() {       return _getNowTime();     },     getDateOfToday : function(format) {       var nowTime = _getNowDate();       return format ? _getDateByFormat(nowTime, format) : nowTime;     },     getFirstDateOfMonth : function(format) {       return _getFirstDateOfMonth(format);     },     convertDate : function(sourceDate, format) {       var _format = format || 'yyyy-MM-dd';       return _getDateByFormat(sourceDate, _format);     },     convertTimestamp : function(sourceTimestamp, format) {       var _format = format || 'yyyy-MM-dd';       var sourceDate = new Date(parseInt(sourceTimestamp) * 1000);       return _getDateByFormat(sourceDate, _format);     }   };   /*返回DateToolBox的惟一實例*/   function init() {     return dateToolBoxInstance;   }   /*外部只能經過getInstance方法得到本類的實例*/   return {     getInstance : init   }; })();
相關文章
相關標籤/搜索