使用moment.js查找当前财务季度的第一个日期

时间:2014-09-23 12:21:36

标签: javascript jquery momentjs

我在这里看过很多帖子,但却找不到我想要的东西。我目前不熟悉Javascript,也不知道如何以Date格式获取当前季度的第一个MM-DD-YYYY

提前致谢!

4 个答案:

答案 0 :(得分:21)

片刻1.7.0+只是

moment().startOf('quarter').format('MM-DD-YYYY');

答案 1 :(得分:5)

在JavaScript中获取日期,使用moment.js进行格式化:

var qtrDate = (function () {
    var d = new Date(),
        m = d.getMonth() - d.getMonth() % 3;
    return moment(new Date(d.getFullYear(), m, 1)).format('MM-DD-YYYY');
}());

function getQuarterFirstDay (d) {
    var m = d.getMonth() - d.getMonth() % 3;
    return moment(new Date(d.getFullYear(), m, 1)).format('MM-DD-YYYY');
}
var d = getQuarterFirstDay(new Date());

答案 2 :(得分:2)

一个纯粹的JavaScript解决方案:

var currentMonth=(new Date()).getMonth()
   var yyyy=(new Date()).getFullYear()
   var start= (Math.floor(currentMonth/3)*3)+1,
   end= start+3,
   startDate=new Date(start+'-01-'+ yyyy),
   endDate= end>12?new Date('01-01-'+ (yyyy+1)):new Date(end+'-01-'+ (yyyy));
   endDate=new Date((endDate.getTime())-1)

   console.log('startDate =', startDate,'endDate =', endDate);

答案 3 :(得分:0)

感谢您的回答。但是我已经得到了解决方案并使用了以下代码。没有测试过上面的代码。

    var m = Math.floor(parseInt(month) / 3);
    var month = m * 3;
    if(month == 0){ 
    month=1;
    } 
    fromDate = "0" + month + "/" + "01/" + moment(today).format("YYYY");
    toDate = moment(today).format("MM/DD/YYYY");