获取 JavaScript 中的最后 n 个季度
Get last n quarters in JavaScript
显然,this kind of question was asked before,但这是一个我无法翻译成 JavaScript 的 C# 答案。
这是我的原始代码,但现在第一季度失败了:
var amount = 6;
var now = new Date();
var thisYear = now.getFullYear();
var quarterStart = Math.ceil((now.getMonth() + 1) / 3);
//quarterStart will return a number between 1 and 4
for (var i = 0; i < amount; i++) {
//here's the line that definitely needs to be changed
var thisQuarter = quarterStart - (i % 4);
//if thisQuarter is the last one, go back one year
if (thisQuarter == 4 && i > 0) {
thisYear--;
};
console.log('Q' + thisQuarter + ' ' + thisYear);
};
//console should return the following
//'Q1 2016'
//'Q4 2015'
//'Q3 2015'
//'Q2 2015'
//'Q1 2015'
//'Q4 2014'
编辑:可以更改循环的设置,只要输出如图所示。
我对你的代码做了一些修改,现在应该可以工作了。
var amount = 6;
var now = new Date();
var thisYear = now.getFullYear();
var quarterStart = Math.ceil((now.getMonth() + 1) / 3);
for (var i = 0; i < amount; i++) {
console.log('Q' + quarterStart + ' ' + thisYear);
quarterStart--;
if (quarterStart <= 0) {
thisYear--;
quarterStart = 4;
};
};
显然,this kind of question was asked before,但这是一个我无法翻译成 JavaScript 的 C# 答案。
这是我的原始代码,但现在第一季度失败了:
var amount = 6;
var now = new Date();
var thisYear = now.getFullYear();
var quarterStart = Math.ceil((now.getMonth() + 1) / 3);
//quarterStart will return a number between 1 and 4
for (var i = 0; i < amount; i++) {
//here's the line that definitely needs to be changed
var thisQuarter = quarterStart - (i % 4);
//if thisQuarter is the last one, go back one year
if (thisQuarter == 4 && i > 0) {
thisYear--;
};
console.log('Q' + thisQuarter + ' ' + thisYear);
};
//console should return the following
//'Q1 2016'
//'Q4 2015'
//'Q3 2015'
//'Q2 2015'
//'Q1 2015'
//'Q4 2014'
编辑:可以更改循环的设置,只要输出如图所示。
我对你的代码做了一些修改,现在应该可以工作了。
var amount = 6;
var now = new Date();
var thisYear = now.getFullYear();
var quarterStart = Math.ceil((now.getMonth() + 1) / 3);
for (var i = 0; i < amount; i++) {
console.log('Q' + quarterStart + ' ' + thisYear);
quarterStart--;
if (quarterStart <= 0) {
thisYear--;
quarterStart = 4;
};
};