zoukankan      html  css  js  c++  java
  • new date()标准时间转yyyy-mm-dd hh:mm 24小时制

    <!DOCTYPE html>
    <html>
    <head>
        <title>new date()标准时间转yyyy-mm-dd hh:mm 24小时制</title>
        <meta charset="utf-8" />
        <meta name="author" content="xusong" />
    </head>
    <body>
     
        <script type="text/javascript">
     
            // 扩充js的内置对象Date方法
            Object.assign(Date.prototype, {
                switch(time) {
                    let date = {  
                         "yy": this.getFullYear(),
                         // 这里月份的key采用大写,为了区别分钟的key
                      "MM": this.getMonth() + 1,  
                      "dd": this.getDate(),  
                      "hh": this.getHours(),  
                      "mm": this.getMinutes(),  
                      "ss": this.getSeconds()
                    };  
                    //输出年 y+:匹配1个到多个y,i:忽略大小写
                    if (/(y+)/i.test(time)) {  
                        time = time.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));  
                    }  
                    //输出月、日、时、分、秒
                    Object.keys(date).forEach(function(i){
                        //  "(" + i + ")"的结果是字符串"(i+)",
                           // 只有写成"(" + i + ")"形式,才能在正则表达式中捕获子匹配,进而才能用到RegExp.$1的值
                        if (new RegExp("(" + i + ")").test(time)) { 
                              // 判断,如果时间为一位数,则在前面加'0' 
                              // ps:这里有一个小知识点:number类型+string类型 = string类型
                              if(RegExp.$1.length == 2){
                                  date[i] < 10 ? date[i] = '0' + date[i]: date[i];
                              }
                              //替换初始化函数时候传入yyyy-mm-dd hh:mm:ss(这里可以打印出time、RegExp.$1、date[k])
                              time = time.replace(RegExp.$1, date[i]); 
                        }  
                    })
                    return time;  
                }
            })
     
            let newDate = new Date();
            // newDate.switch()传参的大小写要和方法内定义的key匹配
            document.write(newDate.switch('yyyy-MM-dd hh:mm:ss'));  
            //结果为:2017-03-24 20:24:36
            document.write(newDate.switch('yyyy-MM-dd'));  
            //结果为:2017-03-24
     
        </script>
    </body>
    </html>
  • 相关阅读:
    如何让AlertDialog 在点击确定或者取消时不消失
    你的睡眠时间和睡眠质量达标了么?
    如何使用指定浏览器打开网页
    国内主流Android安卓应用市场简介
    位运算——pku2436患病的奶牛
    高精度——sgu112
    树插入,树遍历——hdu3999
    大浮点数相加——hdu1753
    小数的幂——pku1001
    递推型DP——USACO 2009 February Silver bull and cow
  • 原文地址:https://www.cnblogs.com/techliang666/p/9334020.html
Copyright © 2011-2022 走看看