/** * 时间格式化 返回格式化的时间 * @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); } }); }
1 用法:第一个参数传一个Date对象(没有则使用当前时间),第二个参数是格式化字符串,格式如下: 2 3 YYYY:4位年,如1993 4 5 YY:2位年,如93 6 7 MM:月份 8 9 DD:日期 10 11 hh:小时 12 13 mm:分钟 14 15 ss:秒钟 16 17 星期:星期,返回如 星期二 18 19 周:返回如 周二 20 21 week:英文星期全称,返回如 Saturday 22 23 www:三位英文星期,返回如 Sat 24 25 示例: 26 * formatDate(new Date("january 01,2012")); 27 * formatDate(new Date()); 28 * formatDate('YYYY年MM月DD日 hh时mm分ss秒 星期 YYYY-MM-DD YY年 week'); 29 * formatDate(new Date("january 01,2012"),'YYYY年MM月DD日 hh时mm分ss秒 星期/周 www YYYY/MM/DD week');
浙公网安备 33010602011771号