1,按照指定日期和推移時分秒年月日計算日期
//計算指定日期之前多少年月日時分秒的時間
//往前推數據
public String getResultTime(String endtime, String time)
{
int dateType = Calendar.DATE;
String tag = time.substring(time.length()-1,time.length());
String num = time.substring(0,time.length()-1);
if ("m".equals(tag)) dateType = Calendar.MONTH;
if ("w".equals(tag)) dateType = Calendar.WEEK_OF_MONTH;
if ("y".equals(tag)) dateType = Calendar.YEAR;
if ("h".equals(tag)) dateType = Calendar.HOUR;
if ("min".equals(tag)) dateType = Calendar.MINUTE;
if ("s".equals(tag)) dateType = Calendar.SECOND;
return getNextDate(endtime,-Integer.parseInt(num),dateType,"yyyy-MM-dd hh:mm:ss");
}
/**
* 此函數實現:給定日期和經過天數,算出結果日期
*@author zn
其中sDate為指定日期,iDate為多少時間段(可以是 年、月、日... 具體根據iCal來確定)
iCal為某種時間段例如 月:Calendar.MONTH(具體可查詢api中Calendar類)
sStr為日期格式 例如:"yyyyMMdd"(具體可查詢api中Calendar類)
* @param sDate
* @param iDate
* @param iCal
* @param sStr
* @return
*/
public String getNextDate(String sDate, int iDate,int iCal, String sStr){
String sNextDate = "";
Calendar calendar = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat(sStr);
Date date = null;
try {
date = formatter.parse(sDate);
} catch (ParseException e) {
e.printStackTrace();
}
calendar.setTime(date);
calendar.add(iCal, iDate);
sNextDate = formatter.format(calendar.getTime());
return sNextDate ;
}
public static void main(String[] args) throws Exception
{
String endtime = CalendarUtil.getShortString();
String starttime = this.getResultTime(endtime,time);
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。