【发布时间】:2012-03-23 14:02:13
【问题描述】:
我正在尝试创建一个需要通过 Javascript 获取上一季度和本季度日期的报告。该代码在上个月有效,但在三月它不起作用。上季度显示为本季度,本季度显示为下季度。我在这个项目中使用 datejs。这是我正在使用的代码:
function thisQuarterDates(from, to) {
var month = Date.parse('today').toString('MM');
var quarterMonth = (Math.floor(month/3)*3)+1;
var year = Date.parse('today').toString('yyyy');
var quarterStartDate = (quarterMonth < 10) ? quarterMonth+'/1/' +year : quarterMonth+'/1/'+ year;
var quarterEndDate = Date.parse(quarterStartDate).add(2).months().moveToLastDayOfMonth().toString('M/d/yyyy');
var today = Date.parse('today').toString('M/d/yyyy');
document.getElementById(from).value = quarterStartDate;
document.getElementById(to).value = quarterEndDate;
}
function lastQuarterDates(from, to) {
var month = Date.parse('today').toString('MM');
var quarter = (Math.floor(month/3))+1;
var lastQuarter = (quarter > 1) ? quarter - 1 : lastQuarter = 4;
var year;
if (((((lastQuarter-1)*3)+1) < 10))
{
year = Date.parse('today').toString('yyyy');
}
else
{
year = Date.parse('today').add(-1).years().toString('yyyy');
}
var firstDate = ((((lastQuarter-1)*3)+1) < 10) ? (((lastQuarter-1)*3)+1) +'/1/'+ year : (((lastQuarter-1)*3)+1) +'/1/'+ year;
var lastDate = Date.parse(firstDate).add(2).months().moveToLastDayOfMonth().toString('M/d/yyyy');
document.getElementById(from).value = firstDate;
document.getElementById(to).value = lastDate;
}
有人知道为什么它不正确或者有更简单的方法吗?
【问题讨论】:
-
你用什么库来做 Date 的原型,比如 moveToLastDayOfMonth()?是您的自定义代码吗?
-
希望对您有所帮助。 stackoverflow.com/a/20989200/2837412
标签: javascript html