我在这里阅读了很多帖子,但无法获得我想要的内容。我目前刚刚接触Javascript,不知道如何获得当前季度的第一个Date
,格式为MM-DD-YYYY
。使用moment.js查找当前财务季度的第一个日期
在此先感谢!
我在这里阅读了很多帖子,但无法获得我想要的内容。我目前刚刚接触Javascript,不知道如何获得当前季度的第一个Date
,格式为MM-DD-YYYY
。使用moment.js查找当前财务季度的第一个日期
在此先感谢!
有了片刻1.7.0+它只是
moment().startOf('quarter').format('MM-DD-YYYY');
这应该是Accepter作为正确的答案! – 2016-09-22 12:00:08
获取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());
感谢answer.However我已经得到了解决,我用下面的代码。没有测试过上面的代码。
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");
请注意,月<3(在'parseInt函数'),'fromDate'将导致''/ 00/2014''。在我的回答中,我使用模数来获得当前月份和季度开始之间的差异。由于'getMonth'返回一个0索引的月份(0-11),所以这个功能很有用。 – user4040648 2014-09-23 13:39:22
@ user4040648感谢您发现问题..修改了上面的代码.. – Alok 2014-09-23 13:49:50
纯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);
写在答案 – Alok 2014-09-23 13:27:32