import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* @docRoot DateProcessor
* @author gonghaitao
* @version 1.0
* @serialData 2006-07-19
*
*/
public class DateProcessor {
/**
* Name : YMD
* Explain : YearMonthDay
* Example : 20060719
*/
public static final String YMD = "yyyyMMdd";
/**
* Name : YM
* Explain : YearMonth
* Example : 200607
*/
public static final String YM = "yyyyMM";
/**
* Name : YsMsD
* Explain : Year-Month-Day
* Example : 2006-07-19
*/
public static final String YsMsD = "yyyy-MM-dd";
/**
* Name : YsM
* Explain : Year-Month
* Example : 2006-07
*/
public static final String YsM = "yyyy-MM";
/**
* Name : YMDHMS
* Explain : YearMonthDayHourMinuteSecond
* Example : 20060719162816
*/
public static final String YMDHMS = "yyyyMMddHHmmss";
/**
* Name : HMS
* Explain : HourMinuteSecond
* Example : 162816
*/
public static final String HMS = "HHmmss";
/**
* Name : YsMsDsHsMsS
* Explain : 2006-07-19 16:28:16
*/
public static final String YsMsDsHsMsS = "yyyy-MM-dd HH:mm:ss";
/**
*
* @param date
* @param dateFormat
* @return
* @throws ParseException
*/
private static Date fromStringToDate(String date,String dateFormat) throws ParseException{
Date dateTemp = initProcessor(dateFormat).parse(date);
return dateTemp;
}
/**
*
* @param date
* @param dateFormat
* @return
*/
private static String fromDateToString(Date date,String dateFormat){
String dateTemp = initProcessor(dateFormat).format(date);
return dateTemp;
}
/**
*
* @param dateFormat
* @return
*/
private static SimpleDateFormat initProcessor(String dateFormat){
return new SimpleDateFormat(dateFormat);
}
/**
*
* @param beginDate date for transform
* @param beginDateFormat e.g.:YMD
* @param endDateFormat e.g.:YMD
* @return
* @throws ParseException
*/
public static String parseStringToString(String beginDate,String beginDateFormat,
String endDateFormat) throws ParseException{
Date dateTemp = fromStringToDate(beginDate,beginDateFormat);
String dateFinal = fromDateToString(dateTemp,endDateFormat);
return dateFinal;
}
/**
*
* @param date date for transform
* @param dateFormat e.g.:YMD
* @return
* @throws ParseException
*/
public static Date parseStringToDate(String date,String dateFormat) throws ParseException{
return fromStringToDate(date,dateFormat);
}
/**
*
* @param date date for transform
* @param dateFormat e.g.:YMD
* @return
*/
public static String parseDateToString(Date date,String dateFormat){
return fromDateToString(date,dateFormat);
}
/**
* The format of the time is yyyyMMddHHmmss
* @return
*/
public static String getCurrentTime(){
Calendar calendar = Calendar.getInstance();
int _year = calendar.get(Calendar.YEAR);
int _month = calendar.get(Calendar.MONTH)+1;
int _day = calendar.get(Calendar.DAY_OF_MONTH);
int _hour = calendar.get(Calendar.HOUR_OF_DAY);
int _minute = calendar.get(Calendar.MINUTE);
int _second = calendar.get(Calendar.SECOND);
return (Integer.toString(_year)
+((_month>=0&&_month<=9)?("0"+Integer.toString(_month)):(Integer.toString(_month)))
+((_day>=0&&_day<=9)?("0"+Integer.toString(_day)):(Integer.toString(_day)))
+((_hour>=0&&_hour<=9)?("0"+Integer.toString(_hour)):(Integer.toString(_hour)))
+((_minute>=0&&_minute<=9)?("0"+Integer.toString(_minute)):(Integer.toString(_minute)))
+((_second>=0&&_second<=9)?("0"+Integer.toString(_second)):(Integer.toString(_second)))
);
}
/**
* The format of the time is yyyyMMdd
* @return
*/
public static String getCurrentDate(){
Calendar calendar = Calendar.getInstance();
int _year = calendar.get(Calendar.YEAR);
int _month = calendar.get(Calendar.MONTH)+1;
int _day = calendar.get(Calendar.DAY_OF_MONTH);
return (Integer.toString(_year)
+((_month>=0&&_month<=9)?("0"+Integer.toString(_month)):(Integer.toString(_month)))
+((_day>=0&&_day<=9)?("0"+Integer.toString(_day)):(Integer.toString(_day)))
);
}
/**
* Get current year
* @return
*/
public static String getCurrentYear(){
Calendar calendar = Calendar.getInstance();
int _year = calendar.get(Calendar.YEAR);
return Integer.toString(_year);
}
/**
* Get current date . The format is : yyyy-MM-dd
* @return
*/
public static String getCurrentDateSplit(){
Calendar calendar = Calendar.getInstance();
int _year = calendar.get(Calendar.YEAR);
int _month = calendar.get(Calendar.MONTH)+1;
int _day = calendar.get(Calendar.DAY_OF_MONTH);
return (Integer.toString(_year)
+"-"+((_month>=0&&_month<=9)?("0"+Integer.toString(_month)):(Integer.toString(_month)))
+"-"+((_day>=0&&_day<=9)?("0"+Integer.toString(_day)):(Integer.toString(_day)))
);
}
}