常用日期工具类
常用日期工具类
import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.joda.time.DateTime; import org.joda.time.Days; import org.joda.time.LocalDate; import org.joda.time.format.DateTimeFormat; /** * 常用日期工具类 * @author changbingbing * */ public class DateUtils { public static final String FORMAT_DATE_TIME_DEFAULT="yyyy-MM-dd HH:mm:ss";//默认的年月日时分秒格式 public static final String FORMAT_DATE_FOR_BORROWS="yyMMdd";//借款主键的年月日格式 public static final String FORMAT_DATE_FOR_DAY="yyyy-MM-dd";//一般的天格式 public static final String FORMAT_DATE_FOR_YMD000="yyyy-MM-dd 00:00:00";//yyyy-MM-dd 00:00:00 public static final String FORMAT_DATE_CH="yyyy年MM月dd日"; public static final String FORMAT_DATE_D="d";
格式化指定日期(java.util.Date)
/** * * @Title: formatDate * @Description:格式化指定日期(java.util.Date) * @param format * @param date * @return * @Return: String * */ public static String formatDate(String format, Date date) { SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(date); }
格式化指定日期(org.joda.time.DateTime)
/** * 格式化指定日期(org.joda.time.DateTime) * @param format * @param dateTime * @return */ public static String formatDateTime(String format, DateTime dateTime) { return dateTime.toString(format); }
格式化时间戳(java.sql.Timestamp)
/** * * @Title: formatTimeStamp * @Description:格式化时间戳(java.sql.Timestamp) * @param format * @param tm * @return * @Return: String * */ public static String formatTimeStamp(String format, Timestamp tm) { SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(new Date(tm.getTime())); }
字符串转化成日期(java.util.Date)
/** * * @Title: parseDate * @Description:字符串转化成日期(java.util.Date) * @param format * @param dateStr * @return * @Return: Date * */ public static Date parseDate(String format, String dateStr) { Date dateResult = null; SimpleDateFormat sdf = new SimpleDateFormat(format); try { dateResult = sdf.parse(dateStr); } catch (ParseException e) { e.printStackTrace(); } return dateResult; }
字符串转化成日期(org.joda.time.DateTime)
/** * 字符串转化成日期(org.joda.time.DateTime) * @param format * @param dateStr * @return */ public static DateTime parseDateTime(String format, String dateStr) { DateTime parseDateTime = null; try { parseDateTime = DateTimeFormat.forPattern(format).parseDateTime(dateStr); } catch (Exception e) { e.printStackTrace(); } return parseDateTime; }
字符串转化成日期2(org.joda.time.DateTime)
/** * 字符串转化成日期2(org.joda.time.DateTime) * @param format * @param dateStr * @return */ public static DateTime parseDateTime2(String format, String dateStr) { DateTime parseDateTime = null; try { parseDateTime = DateTime.parse(dateStr, DateTimeFormat .forPattern(format)); } catch (Exception e) { e.printStackTrace(); } return parseDateTime; }
计算当前日期的上一个月的开始日期和结束日期
/** * 计算当前日期的上一个月的开始日期和结束日期 * * @Title: calcLastStartEnd * @Description:TODO * @return * @Return: DateTime[] * */ public static String[] calcLastStartEnd() { // 1.拿到当前日期 DateTime currentDate = new DateTime(); // 2.1 计算上一个月的开始日期 DateTime tempLastFirstStart = currentDate.minusMonths(1).dayOfMonth() .withMinimumValue(); DateTime lastFirstStart = new DateTime(tempLastFirstStart.getYear(), tempLastFirstStart.getMonthOfYear(), tempLastFirstStart.getDayOfMonth(), 0, 0, 0); // 2.2 计算上一个月的结束日期 DateTime tempLastFirstEnd = currentDate.minusMonths(1).dayOfMonth() .withMaximumValue(); DateTime lastFirstEnd = new DateTime(tempLastFirstEnd.getYear(), tempLastFirstEnd.getMonthOfYear(), tempLastFirstEnd.getDayOfMonth(), 23, 59, 59); // 3.封装在数组里面返回 String lastStartEnd[] = new String[] { lastFirstStart.toString(DateUtils.FORMAT_DATE_TIME_DEFAULT), lastFirstEnd.toString(DateUtils.FORMAT_DATE_TIME_DEFAULT) }; return lastStartEnd; }
计算2个日期之间的差
/** * * @Title: daysBetween * @Description:计算2个日期之间的差 * @param startTime * @param endTime * @return * @Return: int * */ public static int daysBetween(DateTime startTime,DateTime endTime){ return Days.daysBetween(startTime, endTime).getDays(); }
org.joda.time.DateTime转java.util.Date
/** * org.joda.time.DateTime转java.util.Date * @param dateTime * @return */ public static Date toDate(DateTime dateTime){ return dateTime.toDate(); }
java.util.Date转org.joda.time.DateTime
/** * java.util.Date转org.joda.time.DateTime * @param date * @return */ public static DateTime toDateTime(Date date){ return new DateTime(date); }