如果使用date["month"] -= 1;获取月份,由于flex是将本月日期减30天,所以得到的上个月有问题。如下是做的修改。
/**
* 获取当前时间上个月时间
* @param 格式化形式,例如YYYY-MM或YYYYMM
* @return formatString
*/
private function getLastMon(formatString:String):String
{
var df:DateFormatter = new DateFormatter();
df.formatString = formatString;
var now:Date = new Date();
var lastDate:Date = new Date(now.getTime() - (now.getDate()+1)*24*60*60*1000);
return df.format(lastDate);
}
/**
* 获取上个月月份(天数为上个月最后一天)
* @param
*@return 格式:Date
*/
private function getLastMonDate():Date
{
var now:Date = new Date();
var lastDate:Date = new Date(now.getTime() - (now.getDate()+1)*24*60*60*1000);
return lastDate;
}
/**
*获取当前时间n天前的时间
*@param n 天数
*@param 格式化形式,例如YYYYMMDD或YYYY-MM-DD
*@return formatString
*/
private function getDayBeforeNDay(n:int,formatString:String):String
{
var df:DateFormatter = new DateFormatter();
df.formatString = formatString;
var date:Date = new Date();
date["date"] -= n;
return df.format(date);
}