packagexidian.sl.util;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;/*** 日期格式化工具类
*@authorsl 2011-11-17
**/
public classFormatDate {/*** 得到当前系统日期,格式:yyyy-mm-dd
*
*@return
*/
public staticString getCurrentDate(){return getFormatDate("yyyy-MM-dd");
}/*** 返回年份
*@return
*/
public staticString getCurrentYear(){return getFormatDate("yyyy");
}/*** 返回月份*/
public staticString getCurrentMonth(){return getFormatDate("MM");
}/*** 返回特定格式的日期
* 格式如下:
* yyyy-mm-dd
*@paramformatString
*@return
*/
protected staticString getFormatDate(String formatString){
String currentDate="";
SimpleDateFormat format1= newSimpleDateFormat(formatString);
currentDate= format1.format(newDate());returncurrentDate;
}/*** 返回时间格式样式
*@return
*/
public staticString getFormateDateAll(){return getFormatDate("yyyy-MM-dd HH:mm:ss");
}/*** 获取简化时间格式
*@return
*/
public staticString getFormateDateSimple(){return getFormatDate("yyyyMMddHHmmss");
}/*** 获取几天后的时间
*@paramd
*@paramday
*@return
*/
public static Date getDateAfterDay(Date d, intday) {
Calendar now=Calendar.getInstance();
now.setTime(d);
now.set(Calendar.DATE, now.get(Calendar.DATE)+day);returnnow.getTime();
}/*** 返回几个小时后的时间
*@paramd
*@paramhour
*@return
*/
public static Date getDateAfterHour(Date d,inthour){
Calendar now=Calendar.getInstance();
now.setTime(d);
now.set(Calendar.HOUR, now.get(Calendar.HOUR)+hour);returnnow.getTime();
}/*** 返回几分钟后的某个时间
*@paramd
*@paramminutes
*@return
*/
public static Date getDateAfterMinute(Date d,intminutes){
Calendar now=Calendar.getInstance();
now.setTime(d);
now.set(Calendar.MINUTE, now.get(Calendar.MINUTE)+minutes);returnnow.getTime();
}/*** 比较两个日期的大小
* true date1比date2前
* false date1比date2后
*@paramdate1
*@paramdate2
*@return
*/
public static booleandateCompare(Date date1,Date date2){boolean dateComPareFlag = true;if (date2.compareTo(date1) != 1) {
dateComPareFlag= false;
}returndateComPareFlag;
}/*** 返回两时间之差
*@paramstartTime
*@paramendTime
*@return
*/
public static longdateMinus(Date startTime,Date endTime){return endTime.getTime()-startTime.getTime();
}//计算两个string类的时间差
public static String time(String startTime, String endTime) throwsParseException{
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化时间
Date outdate =sdf.parse(endTime);
Date indate=sdf.parse(startTime);long totalhours = (outdate.getTime()-indate.getTime())/(1000*60*60);//时
long totalminutes = (outdate.getTime()-indate.getTime())/(1000*60)-totalhours*60;//分
long totalseconds = (outdate.getTime()-indate.getTime())/(1000)-totalminutes*60;//秒
String total_time = totalhours+"时"+totalminutes+"分"+totalseconds+"秒";returntotal_time;
}//计算考试的剩余时间
public static String examRemainTime(String startTime, String endTime) throwsParseException{
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化时间
Date outdate =sdf.parse(endTime);
Date indate=sdf.parse(startTime);long totalminutes = (outdate.getTime()-indate.getTime())/(1000*60);//分
long totalseconds = (outdate.getTime()-indate.getTime())/(1000)-totalminutes*60;//秒
String remainTime = totalminutes+ "#"+totalseconds;returnremainTime;
}
}