zoukankan      html  css  js  c++  java
  • 日期格式化函数-将日期转换为想要的格式

    使用说明:

        /**
        * 日期格式化函数
        * @param { Date | string | number }  time  日期原数据
        * @param { string } format 时间格式
        * @param { boolean } use12HourClock 是否使用12小时进制
        * @return { string }
        */
     
    示例:
       let date = new Date();
            let newDate = formatTime(date, 'yyyy-MM-dd-d\\HH:H*mm-ms');
    yyyy 年份 HH 小时
    yy 年份后两位 H 小时
    MM
    月份 mm 分(个位带0)
    cM 中文月份 s
    eM 英文月份 ss 秒(个位带0)
    M 月份(个位带0) m
    dd ms 毫秒
    d 日(个位带0) w 星期
    et AM/ PM ct 上午/下午
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     1     function formatTime(time, format, use12HourClock) {
     2         debugger
     3         if (!time || !format) {
     4             return '';
     5         }
     6         // 判断传入time是否为时间对象, 非时间对象则将其转化
     7         if (Object.prototype.toString.call(time) !== '[object Date]') {
     8             time = new Date(time);
     9         }
    10         const map = {};
    11         map.i = !0;
    12         map.r = /yyyy|yy|MM|cM|eM|M|dd|d|HH|H|mm|ms|ss|m|s|w|ct|et/g;
    13 
    14         const $12cc = ['上午', '下午'];
    15         const $12ec = ['A.M.', 'P.M.'];
    16         const week = ['日', '一', '二', '三', '四', '五', '六'];
    17         const monthZh = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'];
    18         const monthEn = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'];
    19 
    20         map.yyyy = time.getFullYear();
    21         map.yy = (`${map.yyyy}`).substr(2);
    22 
    23         map.M = time.getMonth() + 1;
    24         map.MM = ((parseInt(map.M, 10) || 0) < 10 ? '0' : '') + parseInt(map.M, 10) || 0;
    25         map.eM = monthEn[map.M - 1];
    26         map.cM = monthZh[map.M - 1];
    27 
    28         map.d = time.getDate();
    29         map.dd = ((parseInt(map.d, 10) || 0) < 10 ? '0' : '') + parseInt(map.d, 10) || 0;
    30 
    31         map.H = time.getHours();
    32         map.HH = ((parseInt(map.H, 10) || 0) < 10 ? '0' : '') + parseInt(map.H, 10) || 0;
    33 
    34         map.m = time.getMinutes();
    35         map.mm = ((parseInt(map.m, 10) || 0) < 10 ? '0' : '') + parseInt(map.m, 10) || 0;
    36 
    37         map.s = time.getSeconds();
    38         map.ss = ((parseInt(map.s, 10) || 0) < 10 ? '0' : '') + parseInt(map.s, 10) || 0;
    39 
    40         map.ms = time.getMilliseconds();
    41 
    42         map.w = week[time.getDay()];
    43 
    44         const am = map.H < 12 ? 0 : 1;
    45         map.ct = $12cc[am];
    46         map.et = $12ec[am];
    47         if (use12HourClock) {
    48             map.H %= 12;
    49         }
    50         return format.replace(map.r, ($1) => {
    51             const result = map[map.i ? $1 : $1.toLowerCase()];
    52             return result == null ? $1 : result;
    53         })
    54     };
  • 相关阅读:
    Windows Phone 7(WP7)开发 自订磁贴(深度链接)
    Windows Phone 7(WP7)开发 在ViewModel中使用NavigationService
    Windows Phone 7(WP7)开发 显示长文本(高度大于2000px)
    类属性生成器(小程序)
    Windows Phone 7(WP7)开发 ListBox的分页加载
    Windows Phone 7(WP7)开发工具 查看独立存储空间中数据库内容
    Windows Phone 7(WP7)开发 获取网络状态
    发布一个XNA写的小雷电源码
    用python来个百度关键词刷排名脚本
    win7下 VirtualBox虚拟机开机后台自启动
  • 原文地址:https://www.cnblogs.com/rookieKong/p/14007429.html
Copyright © 2011-2022 走看看