js獲取日期 moment
一.使用
相對時間
moment("20111031", "YYYYMMDD").fromNow(); // 7 年前
moment("20120620", "YYYYMMDD").fromNow(); // 6 年前
moment().startOf('day').fromNow(); // 16 小時前
moment().endOf('day').fromNow(); // 8 小時內
moment().startOf('hour').fromNow(); // 18 分鐘前
日歷時間
moment().subtract(10, 'days').calendar(); // 2018年8月27日
moment().subtract(6, 'days').calendar(); // 上周五下午4點17
moment().subtract(3, 'days').calendar(); // 本周一下午4點17
moment().subtract(1, 'days').calendar(); // 昨天下午4點17分
moment().calendar(); // 今天下午4點17分
moment().add(1, 'days').calendar(); // 明天下午4點17分
moment().add(3, 'days').calendar(); // 本周日下午4點17
moment().add(10, 'days').calendar(); // 2018年9月16日
常見操作
1.獲取當前日期
moment(new Date()).add('year',0).format("YYYY-MM-DD") //如:2018-09-06
2.獲取本年上個月的第一天和最后一天
var start= moment().add('year',0).month(moment().month() - 1).startOf('month').format("YYYY-MM-DD");
var end = moment().add('year',0).month(moment().month() - 1).endOf('month').format("YYYY-MM-DD");
如: 2018-08-01 2018-08-31
②獲取某月的第一天和最后一天
startDate= moment("2019-11").startOf("month").format("YYYY-MM-DD"),
endDate= moment("2019-11").endOf("month").format("YYYY-MM-DD")
輸出:"2019-11-01" "2019-11-31"
3.獲取當天日期 時間詳情
moment().format('MMMM Do YYYY, h:mm:ss a')
//September 6th 2018, 4:13:00 pm ===》 9月 6天 2018 4:13:00 下午
4.獲取當天星期幾
moment().format('dddd'); // 星期四
5.獲取當天日期
moment().format("MMM Do YYYY"); // 9月 6日 2018
6.獲取某天的 前一天,前2天
moment("2019-11-31").subtract(1, "days").format("YYYY-MM-DD")
moment("2019-11-31").subtract(2, "days").format("YYYY-MM-DD")
輸出:"2019-11-30" "2019-11-29"
7.算出某天是屬于星期幾
moment("2019-12-20").format("dddd")
輸出:Friday( 要有hooks.locale("zh-cn") 則輸出星期五
8\. 獲取前一個月的日期
moment().subtract(1, 'month').format('YYYY-MM-DD')
9.獲取前一天
moment().subtract(1, 'day').format('YYYY-MM-DD')
10.獲取前一年
moment().subtract(1, 'year').format('YYYY-MM-DD')
二.js設置時間日期
1.獲取月份的第一天和最后一天 getDays(timeDetail) 天數
var cxrq00 = '201810';
var timeDetail = new Date(cxrq00.substring(0, 4) + '-' + cxrq00.substring(4,6));
var cfsj_start = cxrq00 + '01';
var days = getDays(timeDetail) + '';
var cfsj_end = cxrq00 + days;
console.log(cfsj_start,cfsj_end) //20181001 20181031
var cxrq00 = '2018-10';
var timeDetail = new Date(cxrq00 );
cxrq00 = cxrq00.replace(/-/, '');
var cfsj_start = cxrq00 + '01';
var days = getDays(timeDetail) + '';
var cfsj_end = cxrq00 + days;
console.log(cfsj_start,cfsj_end) //20181001 20181031