码迷,mamicode.com
首页 > 其他好文 > 详细

时间format和年末有话说

时间:2017-12-31 22:33:11      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:seconds   ons   ==   之间   未来   let   blog   day   object   

年末感慨


转眼之间,一年的最后一天来了。

2017,技术界貌似正在飞跃。多年的量变终于引起了质变。
人工智能,区块链。对此,我很激动,激动着有点害怕,害怕中有点紧张,还有点渴望。未来的至高点,未来的风口,自己作为一个小小的菜鸟程序员,能够抢占呢?能否参与吗?改变世界?

火车上,回家后,看完了《神们自己》,想起以前囫囵吞枣看的《北京折叠》,这些科幻,离我们,真的很远吗?也曾看过一些历史穿越装逼小说,活了21个年岁,终于也渐渐感受到历史和人类的伟大。从倾向于文采的那个时代,到实业兴邦的近代,甚至到如今支付宝、比特币刷新实体货币。

中国现在很强。


不过下面还是来说说时间的format函数吧

实业兴邦啊(互联网当然也是实业啦,当时的虚业我猜应该是写诗之类的吧,这里就先不百度了)

一.目标程序

一个时间format函数,用法 format(date,"yyyy-MM-dd hh-mm-ss"),参数可变

const format = (value, format = "yyyy-MM-dd hh:mm:ss") => {
    const date = new Date(value);
    const o = {
        "M+": date.getMonth() + 1, // 月份
        "d+": date.getDate(), // 日
        "h+": date.getHours(), // 小时
        "m+": date.getMinutes(), // 分
        "s+": date.getSeconds(), // 秒
        "q+": Math.floor((date.getMonth() + 3) / 3), // 季度
        "S": date.getMilliseconds() // 毫秒
    };
    let fmt = format;
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1,
    (`${date.getFullYear()}`).substr(4 - RegExp.$1.length));
    Object.keys(o).forEach((k) => {
        if (new RegExp(`(${k})`).test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ?
        (o[k]) :
        ((`00${o[k]}`).substr((`${o[k]}`).length)));
    });
    return fmt;
};

二.知识储备

1.关于Date对象方法

getDate,getDay,getMonth,getFullYear(getYear已经被弃用了)
getHours,getMinutes,getSeconds

2.一些Array对象的运用

substr(start, length) "slfjlsjf".substr(0,4) => "slfj"
"slfjlsjf".substr(1,4) => "lfjl"
substring(start, end) "slfjlsjf".substring(0,4) => "slfj"
"slfjlsjf".substring(1,4) => "lfj"

以上方法不改变原数组

三.庖丁解牛


时间format和年末有话说

标签:seconds   ons   ==   之间   未来   let   blog   day   object   

原文地址:https://www.cnblogs.com/can-i-do/p/8158942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!