zoukankan      html  css  js  c++  java
  • 时间格式化

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

          

  • 相关阅读:
    【转】android布局属性详解
    【转】Android开发学习笔记:5大布局方式详解
    【转】android:layout_gravity和android:gravity的区别
    【转】Android fill_parent和wrap_content分析
    @SuppressWarnings的使用、作用、用法
    android bin目录下的.ap_是神马文件?
    Android 工程目录结构简介
    安卓dalvik和art区别
    Android下HelloWorld项目的R.java文件介绍
    android的R.java
  • 原文地址:https://www.cnblogs.com/rxl1003/p/13534233.html
Copyright © 2011-2022 走看看