js 生成 yyyy-mm-dd 格式

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

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

**low B 的 IE
假如要兼容 IE6+,通常会这么写。**

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
**确实有点繁琐,不过最近看到 次碳酸钴
大神的文章里是这么写的。**

var dt = new Date();
var date = [
[dt.getFullYear(), dt.getMonth() + 1, dt.getDate()].join(‘-‘),
[dt.getHours(), dt.getMinutes(), dt.getSeconds()].join(‘:’)
].join(’ ‘).replace(/(?=\b\d\b)/g, ‘0’); // 正则补零 (略微改动)

console.log(date); // => 2016-03-25 11:01:01
瞬间逼格高了不少,比起传统方法看着舒服多了。而且正则补零,可以单独用在其他地方。

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

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
简洁明了,而且逼格也不低。

ps: 如果你有逼格爆表的方法,还望指点一二。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值