专栏首页李才哥Date.prototype.format

Date.prototype.format

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    Date.prototype.format = function(format){
        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+)/i.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 now = new Date();
    var nowStr = now.format("yyyy-MM-dd hh:mm:ss");
    //使用方法2:
    var testDate = new Date();
    var testStr = testDate.format("YYYY年MM月dd日hh小时mm分ss秒");
    alert(testStr);
    //示例:
    alert(new Date().format("yyyy年MM月dd日"));
    alert(new Date().format("MM/dd/yyyy"));
    alert(new Date().format("yyyyMMdd"));
    alert(new Date().format("yyyy-MM-dd hh:mm:ss"));
</script>
</body>
</html>

Date.prototype.format = function(format){

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+)/i.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 now = new Date();

var nowStr = now.format("yyyy-MM-dd hh:mm:ss");

//使用方法2:

var testDate = new Date();

var testStr = testDate.format("YYYY年MM月dd日hh小时mm分ss秒");

alert(testStr);

//示例:

alert(new Date().format("yyyy年MM月dd日"));

alert(new Date().format("MM/dd/yyyy"));

alert(new Date().format("yyyyMMdd"));

alert(new Date().format("yyyy-MM-dd hh:mm:ss"));

本文分享自微信公众号 - 李才哥(liqi13695515224),作者:中奋boss

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Welcome to Your Vue.js App

    8、看得不错,最新版本的软件,已经优化了内存,以前版本中,存在的打开文件特别忙的问题,已经不存在;

    李才哥
  • 要精通就要抠这种细节,这样才能做到精通

    在我面试和接触过的前端开发者中,70%的前端同学对这部分的知识内容只能达到“一知半解”的程度。甚至还有一部分同学会质疑这部分知识是否重要:这与我们的工作相关吗,...

    李才哥
  • 我的 Web 前端面试经历——百度

    面试是个漫长的过程,从海投到收获电话面试,一面、二面、三面,一个步骤出错那么后面就宣告终结。同时,面试过程中你也可能会遇到一些面试官的刁难,甚至部分面试官会说些...

    李才哥
  • Python 字符串格式化操作 - format方法

    字符串操作 对于 %, 官方以及给出这种格式化操作已经过时,在 Python 的未来版本中可能会消失。 在新代码中使用新的字符串格式。因此推荐大家使用forma...

    叉叉敌
  • Python 字符串格式化操作 - format方法

    字符串操作 对于 %, 官方以及给出这种格式化操作已经过时,在 Python 的未来版本中可能会消失。 在新代码中使用新的字符串格式。因此推荐大家使用forma...

    叉叉敌
  • SAS-100种关于format的用法,你在用哪种?

    前几天,看到有人问到SAS中关于format的一些问题,最近小编用format也用的比较多,所以啊,今天小编要分享的是SAS中关于format的应用,forma...

    Setup
  • js时间格式化通用方法

    /** * 时间工具类 */ /** * 获取现在的时间戳(精确到s) * 使用:new Date().nowTimestamp * @type {...

    Java中文社群_老王
  • java基础---->Java的格式化输出

      在JavaSe5中,推出了C语言中printf()风格的格式化输出。这不仅使得控制输出的代码更加简单,同时也给与Java开发者对于输出格式与排列更大的控制能...

    lin_zone
  • python字符串格式化输出

    python中有两种格式化输出字符串的方式:格式化表达式、format()方法。当然,还有一个简化操作的内置format()函数。

    用户2398817
  • Tomcat Instance in Eclipse and in local folder

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券