我正在嘗試創建需要通過JavaScript獲取上季度和本季度日期的報告。該代碼上個月工作,但在三月份它不起作用。它顯示上季度爲本季度,本季度顯示爲下季度。我在這個項目中使用了datejs。這裏是我使用的代碼:通過Javascript獲取上季度和本季度的日期通過JavaScript
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;
}
任何人都知道爲什麼它不正確或有更簡單的方法嗎?
?它是你的自定義代碼嗎? – orad 2012-12-08 15:23:18
在我寫這篇文章的時候,我正在使用[dateJS](http://www.datejs.com/),但是,我已經切換到[Moment.js](http://momentjs.com/)。 DateJS在相當長的一段時間內沒有得到維護。 MomentJS得到了維護,其功能與一些附加功能相同。 – Keith 2012-12-10 14:27:59
願這能幫助你。 http://stackoverflow.com/a/20989200/2837412 – 2014-01-08 07:14:42