JavaScript日期處理工具類
/*
- 日期處理工具類
- 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)) {
} } 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; };format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
/*
- 單例的實現 */
/*
- 內部定義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
};
})(); </pre>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!