日期格式化:
/** * 時間格式化 返回格式化的時間 * @param date {object} 可選參數,要格式化的data對象,沒有則為當前時間 * @param fomat {string} 格式化字符串,例如:'YYYY年MM月DD日 hh時mm分ss秒 星期' 'YYYY/MM/DD week' (中文為星期,英文為week) * @return {string} 返回格式化的字符串 * * 例子: * formatDate(new Date("january 01,2012")); * formatDate(new Date()); * formatDate('YYYY年MM月DD日 hh時mm分ss秒 星期 YYYY-MM-DD week'); * formatDate(new Date("january 01,2012"),'YYYY年MM月DD日 hh時mm分ss秒 星期 YYYY/MM/DD week'); * * 格式: * YYYY:4位年,如1993 * YY:2位年,如93 * MM:月份 * DD:日期 * hh:小時 * mm:分鍾 * ss:秒鍾 * 星期:星期,返回如 星期二 * 周:返回如 周二 * week:英文星期全稱,返回如 Saturday * www:三位英文星期,返回如 Sat */ function formatDate(date, format) { if (arguments.length < 2 && !date.getTime) { format = date; date = new Date(); } typeof format != 'string' && (format = 'YYYY年MM月DD日 hh時mm分ss秒'); var week = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', '日', '一', '二', '三', '四', '五', '六']; return format.replace(/YYYY|YY|MM|DD|hh|mm|ss|星期|周|www|week/g, function(a) { switch (a) { case "YYYY": return date.getFullYear(); case "YY": return (date.getFullYear()+"").slice(2); case "MM": return date.getMonth() + 1; case "DD": return date.getDate(); case "hh": return date.getHours(); case "mm": return date.getMinutes(); case "ss": return date.getSeconds(); case "星期": return "星期" + week[date.getDay() + 7]; case "周": return "周" + week[date.getDay() + 7]; case "week": return week[date.getDay()]; case "www": return week[date.getDay()].slice(0,3); } }); }
用法:第一個參數傳一個Date對象(沒有則使用當前時間),第二個參數是格式化字符串,格式如下:
YYYY:4位年,如1993
YY:2位年,如93
MM:月份
DD:日期
hh:小時
mm:分鍾
ss:秒鍾
星期:星期,返回如 星期二
周:返回如 周二
week:英文星期全稱,返回如 Saturday
www:三位英文星期,返回如 Sat
示例:
* formatDate(new Date("january 01,2012")); * formatDate(new Date()); * formatDate('YYYY年MM月DD日 hh時mm分ss秒 星期 YYYY-MM-DD YY年 week'); * formatDate(new Date("january 01,2012"),'YYYY年MM月DD日 hh時mm分ss秒 星期/周 www YYYY/MM/DD week');