java 日期的工具类_java 日期时间工具类
package?org.apache.pwd.util;
import?java.text.SimpleDateFormat;
import?java.util.Calendar;
import?java.util.Date;
public?class?DateFormatUtil?{
/**?12小時制?*/
private?static?final?String?DATE_FORMAT_12_HOUR?=?"yyyy/MM/dd?hh:mm:ss";
/**?24小時制?*/
private?static?final?String?DATE_FORMAT_24_HOUR?=?"yyyy/MM/dd?HH:mm:ss";
/**
*?根據格式返回日期字符串
*
*?@param?dateInfo
*????????????日期
*?@param?stringFormat
*????????????格式化字符串
*?@return?日期字符串
*/
public?static?String?getStringDate(Date?dateInfo,?String?stringFormat)?{
if(isNullOrEmpty(stringFormat)){
return?null;
}
SimpleDateFormat?sdf?=?new?SimpleDateFormat(stringFormat);
String?formated?=?sdf.format(dateInfo);
return?formated;
}
/**
*?根據格式返回日期
*
*?@param?dateInfo
*????????????日期字符串
*?@param?stringFormat
*????????????格式化字符串
*?@return?日期
*?@throws?Exception
*?????????????例外
*/
public?static?Date?getFormatDate(String?dateInfo,?String?stringFormat)?throws?Exception?{
if?(isNullOrEmpty(stringFormat))?{
return?null;
}
SimpleDateFormat?sdf?=?new?SimpleDateFormat(stringFormat);
Date?formated?=?sdf.parse(dateInfo);
return?formated;
}
/**
*?根據年月日生成Calendar對象
*
*?@param?year
*????????????年
*?@param?month
*????????????月
*?@param?day
*????????????日
*?@return?Calendar對象
*/
public?static?Calendar?createCalendar(int?year,?int?month,?int?day)?{
Calendar?cal?=?Calendar.getInstance();
if?(year?
year?=?2000?+?year;
}
cal.set(year,?month?-?1,?day);
return?cal;
}
/**
*?根據日期生成Calendar對象
*
*?@param?date
*????????????日期
*?@return?Calendar對象
*/
public?static?Calendar?createCalendar(int?date)?{
int?year?=?date?/?1000;
int?month?=?(date?%?10000)?/?100;
int?day?=?date?%?100;
Calendar?cal?=?Calendar.getInstance();
cal.set(year,?month?-?1,?day);
return?cal;
}
/**
*?返回年份
*
*?@return?年份
*?@throws?Exception
*?????????????例外
*/
public?static?Integer?getNowYear()?throws?Exception?{
Calendar?cal?=?Calendar.getInstance();
int?year?=?cal.get(Calendar.YEAR);
return?year;
}
/**
*?返回月份
*
*?@return?月份
*?@throws?Exception
*?????????????例外
*/
public?static?Integer?getNowMonth()?throws?Exception?{
Calendar?cal?=?Calendar.getInstance();
int?month?=?cal.get(Calendar.MONTH)?+?1;
return?month;
}
/**
*?返回當前日期
*
*?@return?日期
*/
public?static?Integer?getNowDay()?{
Calendar?cal?=?Calendar.getInstance();
int?day?=?cal.get(Calendar.DAY_OF_MONTH);
return?day;
}
/**
*?返回某月份的第一天
*
*?@param?year
*????????????年
*?@param?month
*????????????月
*?@return?某月份的第一天
*/
public?static?Integer?getFirstDayOfMonth(int?year,?int?month)?{
Calendar?cal?=?createCalendar(year,?month,?1);
int?day?=?cal.get(Calendar.DAY_OF_MONTH);
return?day;
}
/**
*?返回某月份的最后一天
*
*?@param?year
*????????????年
*?@param?month
*????????????月
*?@return?某月份的最后一天
*/
public?static?Integer?getLastDayOfMonth(int?year,?int?month)?{
Calendar?cal?=?createCalendar(year,?month,?1);
int?lastDay?=?cal.getActualMaximum(Calendar.DAY_OF_MONTH);
return?lastDay;
}
/**
*?計算兩個日期之間相差的天數
*
*?@param?startDate
*????????????開始日期
*?@param?endDate
*????????????結束日期
*?@return?兩個日期之間相差的天數
*/
public?static?Integer?daysBetweenData(Integer?startDate,?Integer?endDate)?{
if(startDate?==?null?||?endDate?==?null){
return?null;
}
Calendar?startCal?=?createCalendar(startDate);
Calendar?endCal?=?createCalendar(endDate);
Calendar?cal?=?null;
if?(startCal.before(endCal))?{
cal?=?startCal;
startCal?=?endCal;
endCal?=?cal;
}
Long?lg?=?(startCal.getTimeInMillis()?-?endCal.getTimeInMillis())?/?1000?/?60?/?60?/?24;
return?lg.intValue();
}
/**
*?判斷是否為閏年
*
*?@param?obj
*????????????輸入年份
*?@return?是否為閏年
*?@throws?Exception
*?????????????例外
*/
public?static??boolean?isLeapYear(T?obj)?throws?Exception?{
SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy/MM/dd");
Calendar?calendar?=?Calendar.getInstance();
int?year?=?0;
if?(obj?instanceof?String)?{
Date?dateInfo?=?sdf.parse((String)?obj);
calendar.setTime(dateInfo);
year?=?calendar.get(Calendar.YEAR);
}?else?if?(obj?instanceof?Date)?{
calendar.setTime((Date)?obj);
year?=?calendar.get(Calendar.YEAR);
}else{
return?false;
}
if?((year?%?4?==?0?&&?year?%?100?!=?0)?||?(year?%?100?==?0?&&?year?%?400?==?0))?{
System.out.println("是閏年");
return?true;
}
System.out.println("不是閏年");
return?false;
}
/**
*
*
*?@param?stringFormat
*?@return
*/
public?static?boolean?isNullOrEmpty(String?stringFormat)?{
return?(stringFormat?==?null?||?stringFormat.length()?==?0)???true?:?false;
}
public?static?void?main(String[]?args)?throws?Exception?{
String?dateInfo?=?"2014/12/12";
Calendar?cal?=?Calendar.getInstance();
cal.setTime(new?SimpleDateFormat("yyyy/MM/dd").parse(dateInfo));
//?isLeapYear(cal.getTime());
System.out.println(getNowDay());
System.out.println(getFirstDayOfMonth(2014,?12));
System.out.println(getLastDayOfMonth(2014,?9));
//?System.out.println(getStringDate(new?Date(),?"yyyy/MM/dd?HH:mm:ss"));
System.out.println(daysBetweenData(20140303,?20140304));
}
}
總結
以上是生活随笔為你收集整理的java 日期的工具类_java 日期时间工具类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arcgis两点之间连线_ArcGIS中
- 下一篇: java sftp 实例_JAVA实现S