文章内容
1、Date类拓展方法
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | Date.prototype.Format = function (fmt) { var o = { "M+" : this .getMonth() + 1, //月份 "d+" : this .getDate(), //日 "H+" : this .getHours(), //小时 "m+" : this .getMinutes(), //分 "s+" : this .getSeconds(), //秒 "q+" : Math.floor(( this .getMonth() + 3) / 3), //季度 "S" : this .getMilliseconds() //毫秒 }; var week = { "0" : "u65e5" , "1" : "u4e00" , "2" : "u4e8c" , "3" : "u4e09" , "4" : "u56db" , "5" : "u4e94" , "6" : "u516d" }; if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, ( this .getFullYear() + "" ).substr(4 - RegExp.$1.length)); } if (/(E+)/.test(fmt)){ fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "u661fu671f" : "u5468" ) : "" )+week[ this .getDay()+ "" ]); } for ( var k in o) if ( new RegExp( "(" + k + ")" ).test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (( "00" + o[k]).substr(( "" + o[k]).length))); return fmt; } |
2、格式化格式
- 月(M)、日(d)、小时(H)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符
- 年(y)可以用 1-4 个占位符
- 毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
- 周(E),可以用1-3个占位符
3、格式化方法
1)格式化时间戳
1 2 3 | function formatDate(timestamp, format) { return new Date(parseInt(timestamp)).Format(format); } |
2)格式化短日期
1 2 3 | function formatTDate(time) { return formatDate(time, "yyyy年MM月dd日" ); } |
3)格式化年份
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 | function formatTDYear(time) { return formatDate(time, "yyyy" ); } function formatTDYearCN(time) { return formatCNYear(formatDate(time, "yyyy" )); } function formatCNYear(num) { var map = { "0" : "零" , "1" : "一" , "2" : "二" , "3" : "三" , "4" : "四" , "5" : "五" , "6" : "六" , "7" : "七" , "8" : "八" , "9" : "九" }; var result = "" ; var temp = parseInt(num); while (temp > 0){ result = map[temp % 10] + result; temp = parseInt(temp / 10); } return result; } |
4)格式化月份
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | function formatTDMonth(time) { return formatDate(time, "M" ); } function formatTDMonthEN(time) { var month = formatDate(time, "M" ); var map = { "1" : "Jan" , "2" : "Feb" , "3" : "Mar" , "4" : "Apr" , "5" : "May" , "6" : "Jun" , "7" : "Jul" , "8" : "Aug" , "9" : "Sept" , "10" : "Oct" , "11" : "Nov" , "12" : "Dec" }; return map[month]; } function formatTDMonthENL(time) { var month = formatDate(time, "M" ); var map = { "1" : "January" , "2" : "February" , "3" : "March" , "4" : "April" , "5" : "May" , "6" : "June" , "7" : "July" , "8" : "August" , "9" : "September" , "10" : "October" , "11" : "November" , "12" : "December" }; return map[month]; } function formatTDMonthCN(time) { return formatCNDateNumber(formatDate(time, "M" )); } function formatTDMonthCNL(time) { return formatCNDateNumber(formatDate(time, "M" )) + "月" ; } function formatCNDateNumber(num) { var map = { "0" : "零" , "1" : "一" , "2" : "二" , "3" : "三" , "4" : "四" , "5" : "五" , "6" : "六" , "7" : "七" , "8" : "八" , "9" : "九" }; var result = "" ; if (num >= 10) { result += map[parseInt(num / 10)]; result += "十" ; if (num % 10 > 0) { result += map[num % 10]; } } else { result += map[num % 10]; } return result; } |
5)格式化天
1 2 3 4 5 6 7 | function formatTDDay(time) { return formatDate(time, "d" ); } function formatTDDayCN(time) { return formatCNDateNumber(formatDate(time, "d" )); } |
6)格式化周
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 | function formatTDWeekEN(time) { var week = formatDate(time, "EE" ); var map = { "周日" : "Sun" , "周一" : "Mon" , "周二" : "Tue" , "周三" : "Wed" , "周四" : "Thu" , "周五" : "Fri" , "周六" : "Sat" }; return map[week]; } function formatTDWeekENL(time) { var week = formatDate(time, "EE" ); var map = { "周日" : "Sunday" , "周一" : "Monday" , "周二" : "Tuesday" , "周三" : "Wednesday" , "周四" : "Thursday" , "周五" : "Friday" , "周六" : "Saturday" }; return map[week]; } function formatTDWeekCN(time) { return formatDate(time, "EE" ); } function formatTDWeekCNL(time) { return formatDate(time, "EEE" ); } |
7)格式化时间
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 | function formatTTime(time) { return formatDate(time, "HH:mm" ); } function formatTTHour(time) { return formatDate(time, "H" ); } function formatTTHourCN(time) { return formatCNDateNumber(formatDate(time, "H" )); } function formatTTMinite(time) { return formatDate(time, "m" ); } function formatTTMiniteCN(time) { return formatCNDateNumber(formatDate(time, "m" )); } |
8)格式化时间段
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 | function formatTime(startTime, endTime) { var timeStr = "" ; if (endTime != undefined) { if (formatDate(startTime, "yyyy-MM-dd" ) == formatDate(endTime, "yyyy-MM-dd" )) { timeStr += formatDate(startTime, "yyyy-MM-dd" ); timeStr += " " ; timeStr += formatDate(startTime, "HH:mm" ); timeStr += "-" ; timeStr += formatDate(endTime, "HH:mm" ); } else { timeStr += formatDate(startTime, "yyyy-MM-dd HH:mm" ); timeStr += " 至 " ; timeStr += formatDate(endTime, "yyyy-MM-dd HH:mm" ); } } else { timeStr += formatDate(startTime, "yyyy-MM-dd HH:mm" ); } return timeStr; } |