格式化日期的js(正则魅力)
2013-11-15 22:21
483 查看
/** * 时间对象的格式化; */ Date.prototype.format = function(format) { // ◆ 使用prototype定义原型方法 /* * eg:format="YYYY-MM-dd hh:mm:ss"; */ var o = { // ◆ 键值对形式的数组。只能通过加强的for循环来迭代取值 "M+" :this.getMonth() + 1, // month "d+" :this.getDate(), // day "h+" :this.getHours(), // hour "m+" :this.getMinutes(), // minute "s+" :this.getSeconds(), // second "q+" :Math.floor((this.getMonth() + 3) / 3), // quarter (季度) "S" :this.getMilliseconds() // millisecond (毫秒) } if (/(y+)/.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + "") // ◆ RegExp.$1 : 取正则表达式中第一个分组匹配到的内容 .substr(4 - RegExp.$1.length)); } for ( var k in o) { // ◆ 加强的for循环。k为键值对数组o中的键,故o[k]为对应的值 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.prototype.format = function(format) {
/*
* eg:format="YYYY-MM-dd hh:mm:ss";
*/
var o = {
"M+" :this.getMonth() + 1, // month
"d+" :this.getDate(), // day
"h+" :this.getHours(), // hour
"m+" :this.getMinutes(), // minute
"s+" :this.getSeconds(), // second
"q+" :Math.floor((this.getMonth() + 3) / 3), // quarter
"S" :this.getMilliseconds()
// millisecond
}
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + "")
.substr(4 - RegExp.$1.length));
}
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;
}
// ]]>
格式化当前时间
需要星期的话,可以加上下面的代码
var week = {
"0" : "\u65e5", // 日
"1" : "\u4e00", // 一
"2" : "\u4e8c", // 二
"3" : "\u4e09", // 三
"4" : "\u56db", // 四
"5" : "\u4e94", // 五
"6" : "\u516d" // 六
};
if(/(E+)/.test(format)){
format=format.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "\u661f\u671f" : "\u5468") : "")+week[this.getDay()+""]);
}
相关文章推荐
- JS 日期验证正则附asp日期格式化函数
- JS 日期验证正则附asp日期格式化函数
- js获取当前时间以及日期格式化
- 【转】Js获取当前日期时间及格式化操作
- javascript Date format(js日期格式化)
- JS日期格式化(网上转载)
- javascript Date format(js日期格式化) (转)
- javascript Date format(js日期格式化)
- JS日期格式化
- js 日期格式化
- js实现类型判断,二分查找与日期格式化
- Js格式化日期
- js 正则表达式根据出生日期获得年龄
- javascript Date format(js日期格式化)
- JS日期对象扩展-日期格式化
- js 实现日期灵活格式化的小例子
- javascript Date format(js日期格式化)
- js日期格式化
- js 日期格式化,比较,计算
- js日期格式化