Это 27-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления
Статьи по Теме
Сводка классов инструментов Java:Класс инструментов Java
- Эта статья будет дополняться обычной работой и использоваться как запись.
- В обычной работе многие методы, связанные со временем, похожие в бизнес-сценариях, единообразно извлекаются в классы инструментов для использования.
- Это удобно для последующего использования.
- Надеюсь, эти инструменты будут вам полезны!
- Обратите внимание~
Коллекция инструментов времени
①, получить время на неделю назад
-
Деловая сцена:
- Необходимо подсчитать текущее время, чтобы отодвинуть список данных в течение недели.
-
public static String sevenDatysAgo(){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); //过去七天 c.setTime(new Date()); c.add(Calendar.DATE, - 7); Date d = c.getTime(); String day = format.format(d); day = day+" 00:00:00"; return day; }
-
Демонстрационный эффект
-
public static void main(String[] args) { //调这个方法就是返回当前时间的一周前的零点零分零秒 System.out.println(sevenDatysAgo()); }
-
②, получить месяц несколько месяцев назад
-
Деловая сцена
- Как правило, это связано со статистикой в канун Нового года, вы можете использовать этот инструмент.
- Например, сейчас статистика начинает отодвигать анализ данных на три месяца.
-
public static String[] getDateBeforeMonth(String dateKey, Integer length){ String[] arrData = new String[2]; try { //dateKey是传进来的日期,length是所需要前推的月份 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); Calendar c = Calendar.getInstance(); Date nowMonth = format.parse(dateKey); c.setTime(nowMonth); c.add(Calendar.MONTH, -length); Date m3 = c.getTime(); String mon3 = format.format(m3); System.out.println("过去"+length+"个月:"+mon3); arrData[0] = mon3; arrData[1] = dateKey; return arrData; } catch (ParseException e) { e.printStackTrace(); } return arrData; }
-
Демонстрационный эффект
-
public static void main(String[] args) { getDateBeforeMonth("2021-08",6); }
-
③, час в минуту
-
Деловая сцена
- Страница статистики используется для удобного просмотра.
-
public static int hoursTOminute(String date) { String[] dataArr = date.split("小时"); int Hminute = Integer.parseInt(dataArr[0]) * 60; int Mminute = Integer.parseInt(dataArr[1].replace("分","")); int hoursToMinute = Hminute + Mminute; return hoursToMinute; }
-
Демонстрационный эффект
-
public static void main(String[] args) { String str = "3小时24分"; System.out.println(str+":"+hoursTOminute(str)); }
-
④, получить дату N часов
-
Деловая сцена
- Обычно он используется при обработке пакетов данных.
- Например, поддельные данные заставляют страницу двигаться и очерчивать временные рамки!
-
/** * 得到n小时之后的日期 */ public static String getAfterHourCycleByHour(Date date, String days) { int daysInt = Integer.parseInt(days); Calendar canlendar = Calendar.getInstance(); canlendar.setTime(date); canlendar.add(Calendar.HOUR, daysInt); SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = sdfd.format(canlendar.getTime()); return dateStr; }
-
Демонстрационный эффект
-
public class test { public static void main(String[] args) { Date date = new Date(); String endTime = DateUtils.getAfterHourCycleByHour(date, "2"); System.out.println(endTime); } }
-
⑤ Рассчитать возраст человека по дате рождения
-
Деловая сцена
- Это для расчета возраста человека на основе даты рождения, введенной другими.Сцена очень проста.
-
/** * 根据出生日期计算年龄 * * @return 未来日期返回0 */ public static int getAge(Date birthDay) throws Exception { Calendar cal = Calendar.getInstance(); if (cal.before(birthDay)) { return 0; } int yearNow = cal.get(Calendar.YEAR); int monthNow = cal.get(Calendar.MONTH); int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); cal.setTime(birthDay); int yearBirth = cal.get(Calendar.YEAR); int monthBirth = cal.get(Calendar.MONTH); int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH); int age = yearNow - yearBirth; if (monthNow <= monthBirth) { if (monthNow == monthBirth) { if (dayOfMonthNow < dayOfMonthBirth) { age--; } } else { age--; } } return age; }
-
Демонстрационный эффект
-
public class test { public static void main(String[] args) throws Exception{ DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date birthDay = df.parse("1996-08-27"); System.out.println(DateUtils.getAge(birthDay)); } }
-
⑥. Получите время начала недели
-
Деловая сцена
- Статистика за неделю для анализа
-
public static Date getBeginDayOfWeek() { Date date = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(date); int dayofweek = cal.get(Calendar.DAY_OF_WEEK); if (dayofweek == 1) { dayofweek += 7; } cal.add(Calendar.DATE, 2 - dayofweek); return getDayStartTime(cal.getTime()); }
-
Демонстрационный эффект
-
public class test { public static void main(String[] args) throws Exception{ System.out.println(DateUtils.getBeginDayOfWeek()); } }
-
Продолжение следует~
**Впереди долгий путь, и я обязательно буду его искать вдоль и поперёк~ **
Если вы думаете, что я блогеры хорошо пишу! Писать нелегко, пожалуйста, ставьте лайки, подписывайтесь и комментируйте, чтобы поощрять блоггеров ~ хахах