时间format和年末有话说

Posted 海客无心x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间format和年末有话说相关的知识,希望对你有一定的参考价值。

年末感慨


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

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和年末有话说的主要内容,如果未能解决你的问题,请参考以下文章

Discuz代码片段

js常用代码片段

这个c代码有啥问题?

在 HTML 中显示 HTML 片段

年末小随笔

如何在 Scala 中使用 java.String.format?