• 时间格式化


    参数: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

          

  • 相关阅读:
    改变,必须改变
    厦门四日
    再谈兴趣的重要性,人的差别及如何认识自我
    xcode svn checkout的项目无法真机运行解决办法
    [转]c的fopen()打开文件的模式,第二个参数
    cocos2dx 横板游戏触屏人物和背景移动 方法1
    简单的小球移动隐含的bug
    使用CCHttpRequest后要记得release(),否则内存泄漏
    资源路径问题 (ios平台)
    cocos2dx 横板游戏触屏人物和背景移动 方法2
  • 原文地址:https://www.cnblogs.com/rxl1003/p/13534233.html
Copyright © 2020-2023  润新知