Date转String
/**
* Date to String.
*
* @param date
* @return yyyy-MM-dd HH:mm:ss
*/
static public String date2String(Date date) {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()).format(date);
}
Date转String(根据指定格式)
/**
* Date to string.
*
* @param date
* @param pattern yyyy-MM-dd HH:mm:ss, yyyy-MM-dd ...
* @return date string
*/
public static String date2String(Date date, String pattern) {
return new SimpleDateFormat(pattern, Locale.getDefault()).format(date);
}
String转Date
/**
* String to date.
*
* @param dStr sample: 2001-12-2 21:12:39
* @return date
*/
public static Date str2Date(String dStr) {
String[] parsePatterns = new String[]{"yyyy-MM-dd HH:mm:ss", "yyyyMMddHHmmss", "yyyy-MM-dd HH:mm:ss,SSS", "yyyy-MM-dd", "yyyyMMdd"};
Date result = null;
try {
result = DateUtils.parseDate(dStr, parsePatterns);
} catch (ParseException e) {
// logger.error("String2Date(String) Error! " + e.getMessage());
}
return result;
}
返回指定月份有多少天
/**
* Month day count.返回指定的月份有多少天
*
* @param date the d
* @return the int
*/
public static int monthDayCount(Date date) {
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(Calendar.MONTH, 1);
Date d1 = calendar.getTime();
// 时间相减后还要去处时区间的时差8小时
long diff = d1.getTime() - date.getTime() - calendar.getTimeZone().getOffset
(d1.getTime());
calendar.setTime(new Date(diff));
System.out.println(calendar);
int day = calendar.get(Calendar.DAY_OF_YEAR) - 1;
return day;
}
计算两个日期相差天数
/**
* 计算两个日期相差天数。 用第一个日期减去第二个。如果前一个日期小于后一个日期,则返回负数
*
* @param checkDate 待比较日期
* @param baseDate 基准期数
* @return 两个日期相差天数
*/
public static long diffDays(Date checkDate, Date baseDate) {
return (checkDate.getTime() - baseDate.getTime()) / (24 * 60 * 60 * 1000);
}
获得当前月的第一天和最后一天
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String first = null;//第一天
String last = null;//第二天
//获取当前月的第一天
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
first = sdf.format(c.getTime());
//获得当前月的最后一天
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
last = sdf.format(c.getTime());
未完待续。。。。。。。