publicclassDateUtils {
publicstaticfinalStringDATE_FORMAT = "yyyy-MM-dd";
publicstaticfinalStringDATA_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
/**
* 日期转换为"yyyy-MM-dd"格式字符串
*
* @param Date
*            需要转换的日期
* @return String 转换后的日期串
*/
publicstaticStringdateToString(Datedate) {
DateFormat df = newSimpleDateFormat(DATE_FORMAT);
returndf.format(date);
}
/**
* 日期转换为"yyyy-MM-dd HH:mm:ss"格式字符串
*
* @param date
*            需要转换的日期
* @return 转换后的日期串
*/
publicstaticStringdateToStringAll(Datedate) {
DateFormat df = newSimpleDateFormat(DATA_TIME_FORMAT);
returndf.format(date);
}
/**
* "yyyy-MM-dd"格式字符串转换为日期
*
* @param str
*            需要转换的日期串
* @return Date 转换后的日期
*/
publicstaticDatestringToDate(StringdateStr) {
DateFormat df = newSimpleDateFormat(DATE_FORMAT);
try{
returndf.parse(dateStr);
} catch(ParseException e) {
e.printStackTrace();
}
returnnull;
}
/**
* "yyyy-MM-dd HH:mm:ss"格式的字符串转换为时间
*
* @param str
*            需要转换的日期串
* @return Date 转换后的日期
*/
publicstaticDatestringToDateAll(StringdateStr) {
DateFormat df = newSimpleDateFormat(DATA_TIME_FORMAT);
try{
returndf.parse(dateStr);
} catch(ParseException e) {
e.printStackTrace();
}
returnnull;
}
/**
* 自定义格式的日期转换为字符串的方法
*
* @param date
*            需要转换的日期
* @param pattern
*            目标格式
* @return 字符串日期
*/
publicstaticStringdateToStringOfPattern(Datedate, Stringpattern) {
DateFormat df = newSimpleDateFormat(pattern);
returndf.format(date);
}
/**
* 自定义格式的字符串转换为日期的方法
*
* @param dateStr
*            需要转换的日期串
* @param parrern
*            转换格式
* @return 转换后的日期
*/
publicstaticDatestringToDateOfPattern(StringdateStr, Stringparrern) {
DateFormat df = newSimpleDateFormat(parrern);
try{
returndf.parse(dateStr);
} catch(ParseException e) {
e.printStackTrace();
}
returnnull;
}
/**
* 获取入参日期的年份
*
*/
publicstaticintgetYear(Datedate) {
Calendar cd = newGregorianCalendar();
cd.setTime(date);
returncd.get(Calendar.YEAR);
}
/**
* 获取入参日期的月份,从0开始计
*
*/
publicstaticintgetMonth(Datedate) {
Calendar cd = newGregorianCalendar();
cd.setTime(date);
returncd.get(Calendar.MONTH);
}
/**
* 获取入参日期的日值
*
*/
publicstaticintgetDay(Datedate) {
Calendar cd = newGregorianCalendar();
cd.setTime(date);
returncd.get(Calendar.DATE);
}
/**
* 获取入参日期中小时的24小时制小时数
*
*/
publicstaticintgetHourOfDay(Datedate) {
Calendar cd = newGregorianCalendar();
cd.setTime(date);
returncd.get(Calendar.HOUR_OF_DAY);
}
/**
* 获取入参日期中小时的12小时制小时数
*
*/
publicstaticintgetHour(Datedate) {
Calendar cd = newGregorianCalendar();
cd.setTime(date);
returncd.get(Calendar.HOUR);
}
/**
* 获取入参日期在当前月中属于多少周
*
*/
publicstaticintgetWeekOfMonth(Datedate) {
Calendar cd = newGregorianCalendar();
cd.setTime(date);
returncd.get(Calendar.WEEK_OF_MONTH);
}
/**
* 获取入参日期在当前周中属于第几天,从上一周的星期天开始计
*
*/
publicstaticintgetDayOfWeek(Datedate) {
Calendar cd = newGregorianCalendar();
cd.setTime(date);
returncd.get(Calendar.DAY_OF_WEEK);
}
/**
* 获取入参日期所在的周为当前年的多少周
*
*/
publicstaticintgetWeekOfYear(Datedate) {
Calendar cd = newGregorianCalendar();
cd.setTime(date);
returncd.get(Calendar.WEEK_OF_YEAR);
}
/**
* 获取入参日期在当前年中属于第几天
*
*/
publicstaticintgetDayOfYear(Datedate) {
Calendar cd = newGregorianCalendar();
cd.setTime(date);
returncd.get(Calendar.DAY_OF_YEAR);
}
/**
* 返回指定日期的本周第一天日期
*
*/
publicstaticDategetFirstDateOfWeek(Datedate) {
Calendar cd = newGregorianCalendar();
cd.setTime(date);
cd.set(Calendar.DAY_OF_WEEK, 1);
returncd.getTime();
}
/**
* 返回指定日期的本月第一天日期
*
*/
publicstaticDategetFirstDateOfMonth(Datedate) {
Calendar cd = newGregorianCalendar();
cd.setTime(date);
cd.set(Calendar.DAY_OF_MONTH, 1);
returncd.getTime();
}
/**
* 返回当前时间的上下午的判断值
*
* @return 0为上午,1为下午
*/
publicstaticintgetAMorPM() {
Calendar cd = newGregorianCalendar();
returncd.get(GregorianCalendar.AM_PM);
}
publicstaticTimestamp dateToTimestamp(Datedate) {
returnnewTimestamp(date.getTime());
}
publicstaticvoidmain(String[] args) {
System.out.println(DateUtils.getAMorPM());
}