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: 如果你有逼格爆表的方法,还望指点一二。
本文文字及图片出自 www.52cik.com
你也许感兴趣的:
- Let’s Encrypt:准备开始签发IP地址证书
- 谷歌浏览器将提供内置翻译和语言检测 API
- OpenAI 将用 Rust 重建 Codex CLI,放弃之前的 TypeScript 版本
- 用 AI 生成的安卓 App:优点、缺点与令人震惊之处
- 为什么所有浏览器的用户代理(User-Agent)都以“Mozilla/”开头?
- 新发现的 Linux udisks 漏洞使攻击者能够在主要 Linux 发行版上获得 root 权限
- 没错,没人关心 Linux 上的使用友好性
- Git Notes:Git 最酷但最不受欢迎的功能
- Kubernetes 2.0 将会是什么样子
- bzip2 crate 从 C 切换到 100% rust
你对本文的反应是: