• js时间格式化函数(兼容IOS)


     * 时间格式化
        * @param  {Object} dateObj 时间对象
        * @param  {String} fmt 格式化字符串
        */
       dateFormat(dateObj, fmt) {
         let date;
         if (this.isString(dateObj))
         {
           date = this.strToDate(dateObj)
         } else if (this.isDate(dateObj))
         {
           date=dateObj
         }
         else{
           return ""
         }
         var o = {
           "M+": date.getMonth() + 1, //月份         
           "d+": date.getDate(), //
           "h+": date.getHours() % 12 == 0 ? 12 : date.getHours() % 12, //小时         
           "H+": date.getHours(), //小时         
           "m+": date.getMinutes(), //
           "s+": date.getSeconds(), //
           "q+": Math.floor((date.getMonth() + 3) / 3), //季度         
           "S": date.getMilliseconds() //毫秒         
         };
         var week = {
           "0": "日",
           "1": "一",
           "2": "二",
           "3": "三",
           "4": "四",
           "5": "五",
           "6": "六"
         };
         if (/(y+)/.test(fmt)) {
           fmt = fmt.replace(RegExp.$1, (date.getFullYear().toString() + "").substr(4 - RegExp.$1.length));
         }
         if (/(E+)/.test(fmt)) {
           fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "星期" : "周") : "") + week[date.getDay().toString() + ""]);
         }
         for (var k in o) {
           if (new RegExp("(" + k + ")").test(fmt)) {
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k].toString()) : (("00" + o[k].toString()).substr(("" + o[k].toString()).length)));
           }
         }
         return fmt;
       }
     /**
         * 字符串转换为时间
         * @param  {String} src 字符串
         */
        strToDate(dateObj){
          dateObj = dateObj.replace(/T/g, ' ').replace(/.[d]{3}Z/, '').replace(/(-)/g, '/')
          if (dateObj.indexOf(".")>0)dateObj = dateObj.slice(0, dateObj.indexOf("."))
    
         return new Date(dateObj)
        }

    使用方法:

    第一个参数是个obj对象,当前只能是时间对象或者是时间字符串

    第二个参数是格式化字符串,和C# 格式化规则一样,除了周的格式化,这里使用了'E'来格式化周几

    这里是页面调用例子:

    app.Tools.dateFormat("yyyy/MM/dd") 结果 2017/07/19

    app.Tools.dateFormat("yyyy/MM/dd HH:mm:ss") 结果 2017/07/19 10:09:11

    app.Tools.dateFormat("yyyy/MM/dd EE HH:mm:ss") 结果 2017/07/19 周三 10:09:11

    其他的就不一一举例了,可以参考C#格式化的标准

  • 相关阅读:
    apache和tomcat有什么不同,为什么要整合apache 和tomcat
    使用jstack分析cpu消耗过高的问题
    eclipse建立springMVC 简单项目
    JAVA中的反射机制
    MySQL索引的Index method中btree和hash的优缺点
    JAVA中的线程安全与非线程安全
    Java中普通代码块,构造代码块,静态代码块执行顺序
    jvm的内部体系结构浅析
    CPU思考
    linux内核调度算法(2)--CPU时间片如何分配 转!
  • 原文地址:https://www.cnblogs.com/daxiongblog/p/7205547.html
Copyright © 2020-2023  润新知