var startDate;
var months;
var Convert = Calc.Convert;
try
{
startDate = Convert.toDateTime(args[0])
}
catch(err)
{
return CalcErrorsValue
}
if (isNaN(months = Convert.toInt(args[1])))
{
return CalcErrorsValue
}
var tempMonth = startDate.getMonth() + months;
startDate.setDate(1); //请增加此语句
startDate.setMonth(tempMonth);
var days = _getDaysInMonth(startDate.getFullYear(), startDate.getMonth());
startDate.setDate(days);
return startDate
测试用例: EOMONTH("2015-11-30",-9) // 此时会得到的值是 2015/3/31 ,照理是 2015/2/28 ,原因是因为日期溢出,大家请升级。
官方也请检查这种底层BUG |