import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateUtils{ /** * * @description String转date,传入的String格式需要是:yyyy-MM-dd HH:mm:ss * @param str * @return * @throws Exception */ public static Date stringToDate(String str) throws Exception{ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date= format.parse(str); System.out.println(date); return date; } /** * * @description date转String,转换后的String格式是:yyyy-MM-dd HH:mm:ss * @param date * @return */ public static String dateToString(Date date){ Calendar calendar = Calendar.getInstance(); Date time = calendar.getTime(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String strDate = format.format(time); System.out.println(strDate); return strDate; } /** * * @description 计算两个日期之间相差的天数 * @param startDate * @param endDate * @return */ public static int daysBetweenTowDates(Date startDate,Date endDate){ Calendar calendar = Calendar.getInstance(); calendar.setTime(startDate); long timeStart = calendar.getTime().getTime(); calendar.setTime(endDate); long timeEnd = calendar.getTime().getTime(); int days = (int)(timeEnd / 1000 - timeStart / 1000)/3600/24; System.out.println(Math.abs(days)); return Math.abs(days); } /** * * @description 计算两日期之间相差的年数 * @param startDate * @param endDate * @return */ public static int yearsBetweenTowDates(Date startDate, Date endDate){ Calendar calendar = Calendar.getInstance(); calendar.setTime(startDate); int startYear = calendar.get(Calendar.YEAR); calendar.setTime(endDate); int endYear = calendar.get(Calendar.YEAR); System.out.println(endYear - startYear); return endYear - startYear; } /** * get age by birthday * @description * @param birthday you birthday * @param nowDate today date * @return */ public static int calculateAge(Date birthday,Date nowDate) { Calendar cal = Calendar.getInstance(); cal.setTime(nowDate); int yearNow = cal.get(Calendar.YEAR); int monthNow = cal.get(Calendar.MONTH) + 1; int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); cal.setTime(birthday); int yearBirth = cal.get(Calendar.YEAR); int monthBirth = cal.get(Calendar.MONTH) + 1; int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH); if(yearNow == yearBirth && monthNow == monthBirth && dayOfMonthNow == dayOfMonthBirth){ //birthday is today return 0; }else{ Calendar birthdayCal = Calendar.getInstance(); birthdayCal.setTime(birthday); if ( cal.before(birthdayCal) ) { throw new IllegalArgumentException( "The birthDay is before Now.It's unbelievable!"); } int age = yearNow - yearBirth; if (monthNow <= monthBirth) { if (monthNow == monthBirth) { if (dayOfMonthNow < dayOfMonthBirth) { age--; } } else { age--; } } return age; } } }
DateUtils
猜你喜欢
转载自1960370817.iteye.com/blog/2316330
今日推荐
周排行