| | |
| | | */ |
| | | public static Date parse(String date, String pattern) { |
| | | try { |
| | | if(Objects.nonNull(date)) { |
| | | if (Objects.nonNull(date)) { |
| | | return DateUtils.parseDate(date, pattern); |
| | | } |
| | | } catch (ParseException e) { |
| | |
| | | Calendar cal = Calendar.getInstance(); |
| | | return cal; |
| | | } |
| | | |
| | | /** |
| | | * 毫秒转日期时间 |
| | | * |
| | |
| | | Date dt1 = rightNow.getTime(); |
| | | return dt1.getTime(); |
| | | } |
| | | // |
| | | // public static void main(String[] args) throws ParseException { |
| | | // String big = "1997-08-16"; |
| | | // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
| | | // int age = DateUtil.age(simpleDateFormat.parse(big)); |
| | | // System.out.println(age); |
| | | // } |
| | | |
| | | /** |
| | | * 计算年龄 |
| | | * |
| | | * @param birthDate |
| | | * @return |
| | | */ |
| | | public static int age(Date birthDate) { |
| | | // 当前日历 |
| | | Calendar nowCalendar = Calendar.getInstance(); |
| | | // 生日大于当前日期 |
| | | if (nowCalendar.before(birthDate)) { |
| | | throw new IllegalArgumentException("The birth date is before current time, it's unbelievable"); |
| | | } |
| | | // 当前年月日 |
| | | int yearNow = nowCalendar.get(Calendar.YEAR); |
| | | int monthNow = nowCalendar.get(Calendar.MONTH); |
| | | int dayNow = nowCalendar.get(Calendar.DAY_OF_MONTH); |
| | | // 出生日期年月日 |
| | | Calendar birthCalendar = Calendar.getInstance(); |
| | | birthCalendar.setTime(birthDate); |
| | | int yearBirth = birthCalendar.get(Calendar.YEAR); |
| | | int monthBirth = birthCalendar.get(Calendar.MONTH); |
| | | int dayBirth = birthCalendar.get(Calendar.DAY_OF_MONTH); |
| | | // 粗计算年龄 |
| | | int age = yearNow - yearBirth; |
| | | // 当前月份小于出生月份年龄减一 |
| | | if (monthNow < monthBirth) { |
| | | age--; |
| | | } |
| | | // 当前月份等于出生月份,日小于生日年龄减一 |
| | | else if (monthNow == monthBirth && dayNow < dayBirth) { |
| | | age--; |
| | | } |
| | | // 返回年龄值 |
| | | return age; |
| | | } |
| | | |
| | | |
| | | // 获取近一周的开始时间 |
| | | public static Date getLastWeekStartDate() { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | // 设置为当前日期的前一周 |
| | | calendar.add(Calendar.DAY_OF_YEAR, -7); |
| | | // 获取近一周的开始时间 |
| | | return calendar.getTime(); |
| | | } |
| | | |
| | | |
| | | // 获取近一个月的开始时间 |
| | | public static Date getLastMonthStartDate() { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | // 设置为当前日期的前一个月 |
| | | calendar.add(Calendar.MONTH, -1); |
| | | // 获取近一个月的开始时间 |
| | | return calendar.getTime(); |
| | | } |
| | | |
| | | // 获取近一年的开始时间 |
| | | public static Date getLastYearStartDate() { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | // 设置为当前日期的前一年 |
| | | calendar.add(Calendar.YEAR, -1); |
| | | // 获取近一年的开始时间 |
| | | return calendar.getTime(); |
| | | } |
| | | |
| | | |
| | | // 获取昨天的时间 |
| | | public static Date getLastOfDate() { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | // 设置为当前日期的前一个月 |
| | | calendar.add(Calendar.DAY_OF_YEAR, -1); |
| | | // 获取近一个月的开始时间 |
| | | return calendar.getTime(); |
| | | } |
| | | |
| | | } |