📄 dateutil.java
字号:
package cn.js.fan.util;import java.util.*;import java.text.*;public class DateUtil { public DateUtil() { } public static String format(java.util.Date d, String format) { if (d == null) return ""; SimpleDateFormat myFormatter = new SimpleDateFormat(format); return myFormatter.format(d); } public static String formatDate(Date d, int format, Locale locale, TimeZone timeZone) { if (d==null) return ""; DateFormat df = DateFormat.getDateInstance(format, locale); df.setTimeZone(timeZone); return df.format(d); } public static String formatDateTime(Date d, int format1, int format2, Locale locale, TimeZone timeZone) { if (d==null) return ""; DateFormat df = DateFormat.getDateTimeInstance(format1, format2, locale); df.setTimeZone(timeZone); return df.format(d); } public static long toLong(Date d) { if (d==null) return 0; else return d.getTime(); } public static String toLongString(Date d) { return "" + toLong(d); } public static int getYear(Date date) { if (date==null) return 0; Calendar cal = Calendar.getInstance(); cal.setTime(date); return cal.get(Calendar.YEAR); } public static Date parse(String timeMillis) { java.util.Date d = null; try { d = new java.util.Date(Long.parseLong(timeMillis.trim())); } catch (Exception e) { } return d; } public static Date parse(String time, String format) { java.util.Date d = null; try { d = parse(time, format, java.util.Locale.CHINA); } catch (Exception e) { } return d; } public static Date parse(String time, String format, Locale locale) throws Exception { if (time==null) return null; SimpleDateFormat sdf = new SimpleDateFormat( format, locale); java.util.Date d = null; d = sdf.parse(time); return d; } public static String format(Calendar cal, String format) { if (cal == null) return ""; SimpleDateFormat myFormatter = new SimpleDateFormat(format); return myFormatter.format(cal.getTime()); } public static Calendar add(java.util.Date d, int day) { if (d == null) return null; Calendar cal = Calendar.getInstance(); cal.setTime(d); cal.add(Calendar.DATE, day); return cal; } public static Date addDate(java.util.Date d, int day) { if (d == null) return null; Calendar cal = Calendar.getInstance(); cal.setTime(d); cal.add(Calendar.DATE, day); return cal.getTime(); } public static Date addHourDate(java.util.Date d, int h) { if (d == null) return null; Calendar cal = Calendar.getInstance(); cal.setTime(d); cal.add(Calendar.HOUR, h); return cal.getTime(); } public static Calendar addHour(java.util.Date d, int h) { if (d == null) return null; Calendar cal = Calendar.getInstance(); cal.setTime(d); cal.add(Calendar.HOUR, h); return cal; } public static Date addMinuteDate(java.util.Date d, int m) { if (d == null) return null; Calendar cal = Calendar.getInstance(); cal.setTime(d); cal.add(Calendar.MINUTE, m); return cal.getTime(); } public static Calendar addMinute(java.util.Date d, int m) { if (d == null) return null; Calendar cal = Calendar.getInstance(); cal.setTime(d); cal.add(Calendar.MINUTE, m); return cal; } public static int compare(Calendar c1, Calendar c2) { if (c1 == null || c2 == null) return -1; long r = c1.getTimeInMillis() - c2.getTimeInMillis(); if (r > 0) return 1; else if (r == 0) return 0; else return 2; } public static int compare(Date c1, Date c2) { if (c1 == null || c2 == null) return -1; long r = c1.getTime() - c2.getTime(); if (r > 0) return 1; else if (r == 0) return 0; else return 2; } public static boolean isSameDay(Calendar c1, Calendar c2) { if (c1==null || c2==null) return false; if (c1.get(c1.YEAR)==c2.get(c1.YEAR) && c1.get(c1.MONTH)==c2.get(c1.MONTH) && c1.get(c1.DAY_OF_MONTH)==c2.get(c1.DAY_OF_MONTH)) return true; else return false; } public static boolean isSameDay(Date d1, Date d2) { if (d1==null || d2==null) return false; Calendar c1 = Calendar.getInstance(); c1.setTime(d1); Calendar c2 = Calendar.getInstance(); c2.setTime(d2); if (c1.get(c1.YEAR)==c2.get(c1.YEAR) && c1.get(c1.MONTH)==c2.get(c1.MONTH) && c1.get(c1.DAY_OF_MONTH)==c2.get(c1.DAY_OF_MONTH)) return true; else return false; } public static int datediff(Calendar c1, Calendar c2) { if (c1 == null || c2 == null) return -1; long r = c1.getTimeInMillis() - c2.getTimeInMillis(); r = r / (24 * 60 * 60 * 1000); return (int) r; } public static int datediff(Date c1, Date c2) { if (c1 == null || c2 == null) return -1; long r = c1.getTime() - c2.getTime(); r = r / (24 * 60 * 60 * 1000); return (int) r; } public static int datediffMinute(Date c1, Date c2) { if (c1 == null || c2 == null) return 0; long r = c1.getTime() - c2.getTime(); r = r / (60 * 1000); return (int) r; } public static int datediffMinute(Calendar c1, Calendar c2) { if (c1 == null || c2 == null) return 0; long r = c1.getTimeInMillis() - c2.getTimeInMillis(); r = r / (60 * 1000); return (int) r; } public static int[] dateDiffDHMS(Date d1, Date d2) { int diffDay = datediff(d1, d2); int h1 = d1.getHours(); int h2 = d2.getHours(); int m1 = d1.getMinutes(); int m2 = d2.getMinutes(); int s1 = d1.getSeconds(); int s2 = d2.getSeconds(); int s = s1-s2; int m = m1-m2; if (s<0) { s += 60; m -= 1; } int h = h1-h2; if (m<0) { m += 60; h -= 1; } if (h<0) { h += 24; } int[] r = {diffDay, h, m, s}; return r; } public static int getDayCount(int year, int month) { int daysInMonth[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (1 == month) return ((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400) ? 29 : 28; else return daysInMonth[month]; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -