• 时间格式化


    参数:1.time  a.可以是字符串 '2020-08-20 12:00:00'、'2020/08/20 12:00:00'、'2020/08/20'...   b.也可以是Date类型   c.也可以是时间戳

       2.formatStr  需要返回的时间格式  a. 'YYYY-DD-MM hh:mm:ss'、'YYYY-DD-MM'、'hh:mm:ss'... b. "W": week     c.'YYYY年MM月DD日 hh点mm分ss秒'

    实例:
    console.log(___formatTime(new Date(), 'YYYY年MM月DD日 hh点mm分ss秒')); // 2020年08月20日 11点54分09秒
    console.log(___formatTime(new Date().getTime(), 'W')); // 四
    console.log(___formatTime('2020-08-20', 'YYYY/MM/DD')) // 2020/08/20
     
     1 /**
     2  * Converts the target to a time string in the specified format
     3  * @param {number | string | Date} time Timestamp or time string or Date type
     4  * @param {string} formatStr 'YYYY-MM-DD hh:mm:ss' 'W' ....
     5  * @return {string}
     6  */
     7 function ___formatTime(time, formatStr) {
     8     if (!time) return;
     9     var _time;
    10     if (time instanceof Date) {
    11         _time = time;
    12     } else if (typeof time === 'string' && time.indexOf('-') > -1) {
    13         _time = new Date(time.replace(/[-]/g, '/'));
    14     } else {
    15         _time = new Date(time);
    16     }
    17     var date = {
    18             year: _time.getFullYear(),
    19             month: _time.getMonth() + 1,
    20             date: _time.getDate(),
    21             day: _time.getDay(),
    22             hours: _time.getHours(),
    23             minutes: _time.getMinutes(),
    24             seconds: _time.getSeconds(),
    25             time: _time.getHours() >= 12 ? ["am", "u4e0au5348"] : ["pm", "u4e0bu5348"]
    26         },
    27         reg = {
    28             year: /Y+/,
    29             date: /D+/,
    30             month: /M+/,
    31             day: /W/,
    32             hours: /h+/i,
    33             minutes: /m+/,
    34             seconds: /s+/,
    35             time: /t/i
    36         },
    37         dateList = ["u65e5", "u4e00", "u4e8c", "u4e09", "u56db", "u4e94", "u516d"],
    38         k, _p
    39     for (k in reg) {
    40         _p = reg[k];
    41         formatStr = formatStr.replace(_p, function (segment, index, originStr) {
    42             var l = segment.length,
    43                 value = date[k],
    44                 str;
    45             switch (k) {
    46                 case "day":
    47                     str = dateList[value];
    48                     break;
    49                 case "hours":
    50                     str = (segment.toLowerCase() === segment ? value % 12 : value).toString();
    51                     break;
    52                 case "time":
    53                     str = segment.toLowerCase() === segment ? value[0] : value[1]
    54                     break;
    55             }
    56             if (k != "day" && k != "time") {
    57                 if (l === 1) {
    58                     str = value
    59                 } else {
    60                     str = ("000" + value).slice(-l);
    61                 }
    62             }
    63             return str;
    64         })
    65     }
    66     return formatStr
    67 }
    View Code

          

  • 相关阅读:
    矩阵——矩阵介绍
    CentOS6.6x86_64 部署 Nginx1.62+MySQL5.6.20+PHP5.6.4
    Linux Stu
    Linux Tips
    网页嵌入百度地图和使用百度地图api自定义地图的详细步骤
    商务通被视频覆盖
    酷炫的响应式导航栏
    织梦DeDeCms列表分页和内容页分页错位解决办法
    form表单中method的get和post区别
    PC端手机访问跳转手机站点
  • 原文地址:https://www.cnblogs.com/rxl1003/p/13534233.html
Copyright © 2020-2023  润新知