您的位置:首页 > 编程语言 > Java开发

java中关于日期 Date 的相关操作

2007-12-21 19:59 726 查看
/**

* 计算日期差值。

*

* @param sBeginDate

* @param sEndDate

* @return

*/

public int computeCoolingOffPeriod(Date sBeginDate,Date sEndDate) throws Exception{

Calendar calendar1=Calendar.getInstance();;

Calendar calendar2=Calendar.getInstance();;

calendar1.setTime(sBeginDate);

calendar2.setTime(sEndDate);

return (int)( (calendar2.getTimeInMillis()-calendar1.getTimeInMillis())/1000/60/60/24 );//获取天数的差值。

}

1 ,计算一日期加上若干天之后的日期。




/** *//**


* 期日を増加します


*


* @param date String対象


* @param inteval int対象




* @return String対象


*/




public static String resetDay(String date,int inteval) ...{


String dateTimeFrom = "";




try ...{


// DateFormat df = DateFormat.getDateTimeInstance();


Calendar calendar = new GregorianCalendar();


SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");


calendar.clear();


calendar.set(Integer.parseInt(date.substring(0,4)), Integer.parseInt(date.substring(5,7)) - 1, Integer


.parseInt(date.substring(8, 10)));




calendar.add(Calendar.DAY_OF_MONTH, inteval);




dateTimeFrom = simpleDateFormat.format(calendar.getTime());


return dateTimeFrom;




} catch (Exception e) ...{


e.getMessage();


return "";


}




}

2 ,计算两个日期相差几天。




/** *//**


* 2つの任意の期日間の違いの運命を計算します(自然の日)


*


* @param sBeginDate String対象


* @param sEndDate String対象


*


* @return 期日間の違い


* @throws Exception 例外を発生した場合の対象。


*/




public int computeCoolingOffPeriod(String sBeginDate,String sEndDate) throws Exception...{


Calendar calendar1=Calendar.getInstance();;


Calendar calendar2=Calendar.getInstance();;


SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMdd");//格式很重要:是20051031

//if (sBeginDate.equals("0")) {System.out.println("sBirthDate.equals====0"); sBeginDate = "19000101"; }




calendar1.setTime(formatter1.parse(sBeginDate.replaceAll("/", "")));


calendar2.setTime(formatter1.parse(sEndDate.replaceAll("/", "")));




return (int)( (calendar2.getTimeInMillis()-calendar1.getTimeInMillis())/1000/60/60/24 );//获取天数的差值。






}

3 求一个日期在两个日期之间。




/** *//**


* 有効な期限内の勤務区分を得ます




*


* @param tmpArrayList ArrayList対象


* @param fromDateString String対象


*


* @return なし


* @throws Exception 例外を発生した場合の対象。




*


*/




private ArrayList resetList(ArrayList tmpArrayList,String fromDateString)throws Exception...{


ArrayList applicationList = new ArrayList();




for(int i = 0; i < tmpArrayList.size(); i++)...{




SmallDateChoose smallDateChoose = (SmallDateChoose) tmpArrayList.get(i);


Calendar fromDate = Calendar.getInstance();


Calendar availabilityStartDate = Calendar.getInstance();


Calendar availabilityEndDate = Calendar.getInstance();


String availabilityStartDateString = smallDateChoose.getAvailabilityStartDate();


String availabilityEndDatetring = smallDateChoose.getAvailabilityEndDate();


fromDate.setTime(fromDate.getTime());


fromDate.set(Integer.parseInt(fromDateString.substring(0, 4)), Integer


.parseInt(fromDateString.substring(5, 7)) - 1, Integer.parseInt(fromDateString


.substring(8, 10)));


availabilityStartDate.set(Integer.parseInt(availabilityStartDateString.substring(0, 4)), Integer.parseInt(availabilityStartDateString


.substring(5, 7)) - 1, Integer.parseInt(availabilityStartDateString.substring(8, 10)));


availabilityEndDate.set(Integer.parseInt(availabilityEndDatetring.substring(0, 4)), Integer.parseInt(availabilityEndDatetring


.substring(5, 7)) - 1, Integer.parseInt(availabilityEndDatetring.substring(8, 10)));






if(! fromDate.before(availabilityStartDateString) & ! fromDate.after(availabilityEndDate))...{


ArrayList tempList = new ArrayList();


tempList.add(smallDateChoose.getWorkDivisionName());


applicationList.add(tempList);


}


}




return applicationList;


}
4.根据日期获得对应的星期几。




/** *//**


* 曜日を獲得します




*


* @param argDate


*


* @return なし




*


*/




private String getDayOfWeek(String argDate) ...{






if (argDate.length() != 10) ...{


throw new IllegalArgumentException("argDate length != 8");


}


int intArgY = Integer.parseInt(argDate.substring(0, 4));


int intArgM = Integer.parseInt(argDate.substring(5, 7));


int intArgD = Integer.parseInt(argDate.substring(8, 10));




Calendar calendar = GregorianCalendar.getInstance();


calendar.set(intArgY, intArgM - 1, intArgD);


int returnDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);


String showDate = "";




switch (returnDayOfWeek) ...{


case 1:


showDate = "日";


break;


case 2:


showDate = "月";


break;


case 3:


showDate = "火";


break;


case 4:


showDate = "水";


break;


case 5:


showDate = "木";


break;


case 6:


showDate = "金";


break;


default:


showDate = "土";


break;


}


return showDate;


}

// 另一个Java获取各种常用时间方法

http://www.javaeye.com/topic/285405
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: