您的位置:首页 > Web前端 > JavaScript

JavaScript日期格式化函数

2015-09-11 17:03 676 查看

JavaScript日期格式化函数

该日期格式化函数是为了达到像Java提供的SimpleDateFormat类一样的功能,对Date的扩展,将 Date 转化为指定格式的string类型变量

年(y)

月(M)

日(d)

24小时(H)

12小时(h)

分(m)

秒(s)

周(E)

季度(q)

毫秒(S)

目录

JavaScript日期格式化函数
目录

代码

用法

demo

代码

Date.prototype.format = function(fmt) {
var o = {
'M+' : this.getMonth() + 1,
// 月份
'd+' : this.getDate(),
// 日
'h+' : this.getHours() % 12 == 0 ? 12 : this.getHours() % 12,
// 小时
'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 ? '/u661f/u671f'
: '/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;
};


用法

月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符

年(y)可以用 1-4 个占位符

毫秒(S)只能用 1 个占位符(是 1-3 位的数字)

demo

(new Date()).format(“yyyy-MM-dd hh:mm:ss.S”) ==> 2015-09-11 08:09:04.423

(new Date()).format(“yyyy-MM-dd E HH:mm:ss”) ==> 2015-09-11 五 08:09:04

(new Date()).format(“yyyy-MM-dd EE hh:mm:ss”) ==> 2015-09-11 周五 08:09:04

(new Date()).format(“yyyy-MM-dd EEE hh:mm:ss”) ==> 2015-09-11 星期五 08:09:04

(new Date()).format(“yyyy-M-d h:m:s.S”) ==> 2015-09-11 8:9:4.18
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: