问题来源
js自带的日期Date可以满足一些基本的需求,例如格式化、时间戳等。
new Date().toISOString() //"2016-08-22T09:03:29.860Z"
Date.now() //1471856598359
但是Date不能随意格式化,功能其实特别弱。简单用用还好,但真有复杂的日期转换需求,还是处理不了。
网上用的比较多的是moment.js,试了试,发现确实功能强大。
moment.js
moment.js可以在前端使用,也可以在后端使用。
前端
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
后端
npm install moment --save
用法
var moment = require('moment');
var now = moment();
Parse
moment(String) //date
moment(String, String) //date + format
//例如
var day = moment("1995-12-25");
moment("12-25-1995", "MM-DD-YYYY");
Format
moment().format(String) //format
//例如
moment().format() //default
moment().format('YYYY/MM/DD') //
moment.js提供非常强大的日期功能,包括日期解析与格式化、日期操作、日期比较、英文转换、区间计算等功能,基本上可以满足绝大多数日期使用需求。
本文不再列举具体用法,可以直接参考下面的链接。