博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript Date Format
阅读量:4615 次
发布时间:2019-06-09

本文共 2154 字,大约阅读时间需要 7 分钟。

通过给prototype增加方法来让JavaScript中Date类型原生的支持和.NET中一样的format功能:

 

Date.prototype.format = function (mask) {   var d = this;   var zeroize = function (value, length) {    if (!length) length = 2;    value = String(value);    for (var i = 0, zeros = ''; i < (length - value.length); i++) {     zeros += '0';    }    return zeros + value;   };   return mask.replace(/"[^"]*"|'[^']*'|\b(?:d{1,4}|m{1,4}|yy(?:yy)?|([hHMstT])\1?|[lLZ])\b/g, function ($0) {
switch ($0) { case 'd': return d.getDate(); case 'dd': return zeroize(d.getDate()); case 'ddd': return ['Sun', 'Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sat'][d.getDay()]; case 'dddd': return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][d.getDay()]; case 'M': return d.getMonth() + 1; case 'MM': return zeroize(d.getMonth() + 1); case 'MMM': return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][d.getMonth()]; case 'MMMM': return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][d.getMonth()]; case 'yy': return String(d.getFullYear()).substr(2); case 'yyyy': return d.getFullYear(); case 'h': return d.getHours() % 12 || 12; case 'hh': return zeroize(d.getHours() % 12 || 12); case 'H': return d.getHours(); case 'HH': return zeroize(d.getHours()); case 'm': return d.getMinutes(); case 'mm': return zeroize(d.getMinutes()); case 's': return d.getSeconds(); case 'ss': return zeroize(d.getSeconds()); case 'l': return zeroize(d.getMilliseconds(), 3); case 'L': var m = d.getMilliseconds(); if (m > 99) m = Math.round(m / 10); return zeroize(m); case 'tt': return d.getHours() < 12 ? 'am' : 'pm'; case 'TT': return d.getHours() < 12 ? 'AM' : 'PM'; case 'Z': return d.toUTCString().match(/[A-Z]+$/); // Return quoted strings with the surrounding quotes removed default: return $0.substr(1, $0.length - 2); } }); };

 

使用示例:

var d = new Date();

alert(d.format("MM/dd/yyyy"));

转载于:https://www.cnblogs.com/rynnwang/archive/2012/05/24/2517107.html

你可能感兴趣的文章
动画原理——旋转
查看>>
Finding LCM LightOJ - 1215 (水题)
查看>>
python生成器
查看>>
PowerDesigner Constraint name uniqueness 错误
查看>>
系统子系统_GPRS子系统流程图
查看>>
为什么 NSLog 不支持 Swift 对象(转)
查看>>
Ubuntu 下搭建SVN服务器
查看>>
css3转换
查看>>
读取文件,按行输出
查看>>
UVA 11825 Hackers' Crackdown - 状压dp
查看>>
正则表达式
查看>>
向PHP发送HTTP-Get请求
查看>>
本周作业
查看>>
Python中的 matplotlib(二)随机漫步
查看>>
rsyslog 传输日志
查看>>
14.5.2.3 Consistent Nonlocking Reads 一致性非锁定读
查看>>
apache性能优化
查看>>
UNDO 100%
查看>>
MaReduce理论
查看>>
CentOS7安装RabbitMQ
查看>>