package cn.mutils.core.time; import java.util.Date; /** * Milliseconds utility of framework */ @SuppressWarnings({"deprecation", "unused"}) public class TimeUtil { public static long getDayTime(long time) { Date d = new Date(time); return new Date(d.getYear(), d.getMonth(), d.getDate()).getTime(); } public static boolean isSameDay(long one, long another) { return getDayTime(one) == getDayTime(another); } public static long getDayTime(Date date) { return new Date(date.getYear(), date.getMonth(), date.getDate()).getTime(); } public static int getYear(Date date) { return date.getYear() + 1900; } public static int getMonth(Date date) { return date.getMonth() + 1; } public static int getDay(Date date) { return date.getDate(); } /** * Whether is leap year 闰年 */ public static boolean isLeap(Date date) { int year = date.getYear() + 1900; return isLeap(year); } /** * Whether is leap year 闰年 */ public static boolean isLeap(int year) { return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0; } public static int getDaysOfMonth(Date date) { return getDaysOfMonth(TimeUtil.getYear(date), TimeUtil.getMonth(date)); } public static Date getDate(int year, int month, int day) { return new Date(year - 1900, month - 1, day); } public static Date getDate(int year, int month, int day, int hour, int minute) { return new Date(year - 1900, month - 1, day, hour, minute); } public static int getDaysOfMonth(int year, int month) { if (month == 2) { return isLeap(year) ? 29 : 28; } else if (month == 4 || month == 6 || month == 9 || month == 11) { return 30; } else { return 31; } } public static boolean isSameDay(Date d1, Date d2) { return (d1 != null && d2 != null) ? (d1.getYear() == d2.getYear() && d1.getMonth() == d2.getMonth() && d1.getDate() == d2.getDate()) : (d1 == d2); } public static boolean isSameMonth(Date d1, Date d2) { return (d1 != null && d2 != null) ? (d1.getYear() == d2.getYear() && d1.getMonth() == d2.getMonth()) : (d1 == d2); } }