zoukankan      html  css  js  c++  java
  • js 生成 yyyy-mm-dd 格式的逼格姿势

    关于 js 生成 yyyy-mm-dd 格式,往往都会采取手动拼接,一般不愿意为了小功能而去动用 momentjs 之类的插件。

    ps: 只分享简单方法,网上有 N 多 dateformat 代码,这里不做讨论。

    low B 的 IE

    假如要兼容 IE6+,通常会这么写。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function pad(s) { // 补零
    return ('0' + s).slice(-2);
    }

    var dt = new Date();
    var date = dt.getFullYear() + '-' + pad(dt.getMonth() + 1) + '-' + pad(dt.getDate());
    date += ' ';
    date += pad(dt.getHours()) + ':' + pad(dt.getMinutes()) + ':' + pad(dt.getSeconds());

    console.log(date); // => 2016-03-25 11:01:01

    确实有点繁琐,不过最近看到 次碳酸钴 大神的文章里是这么写的。

    1
    2
    3
    4
    5
    6
    7
    var dt = new Date();
    var date = [
    [dt.getFullYear(), dt.getMonth() + 1, dt.getDate()].join('-'),
    [dt.getHours(), dt.getMinutes(), dt.getSeconds()].join(':')
    ].join(' ').replace(/(?=d)/g, '0'); // 正则补零 (略微改动)

    console.log(date); // => 2016-03-25 11:01:01

    瞬间逼格高了不少,比起传统方法看着舒服多了。而且正则补零,可以单独用在其他地方。

    现代浏览器

    假如是 IE9+ 或现代浏览器,那就方便多了。

    1
    2
    3
    4
    5
    var dt = new Date();
    dt.setMinutes(dt.getMinutes() - dt.getTimezoneOffset()); // 修正时区偏移
    var date = dt.toISOString().slice(0, -5).replace(/[T]/g, ' ');

    console.log(date); // => 2016-03-25 11:01:01

    简洁明了,而且逼格也不低。

    <转:http://www.52cik.com/2016/03/25/js-date-format.html?utm_source=tuicool&utm_medium=referral>

  • 相关阅读:
    小学教师资格考试——综合素质——材料分析
    小学教师资格考试——综合素质——教师基本能力
    牛客网暑假训练第一场——J Different Integers(莫队算法 & 树状数组)
    牛客网暑假训练第二场——A run(递推&前缀和)
    CSU
    ZOJ
    CSU
    CSU
    HDU
    Hrbust-2090 背包(最小不可构造数)
  • 原文地址:https://www.cnblogs.com/kevin-yuan/p/5320815.html
Copyright © 2011-2022 走看看