Java各種日期計算
1、時間格式化通用處理。/** * 將用戶給定的時間以指定的時間格式進行格式化。<br/> * * @param dateTime 時間 * @param dateTimeFmat 時間格式 * @return String - 格式化后的時間內容 */ public static final String fmatLongToString(long dateTime, String dateTimeFmat) { return new SimpleDateFormat(dateTimeFmat).format(dateTime); } /** * 字符串時間轉換為long類型處理。<br/> * * @param date 時間字符串 * @param fmat 時間格式 * @return long - 轉換結果(異常時返回 -1L) */ public static final long fmatStringToLong(String date, String fmat) { long rsltDate = -1L; try { rsltDate = new SimpleDateFormat(fmat).parse(date).getTime(); } catch (ParseException e) { rsltDate = -1L; } return rsltDate; }
2、以指定的日期,取得其所在周的周一日期和周日日期。
/** * 取得指定日期所在周的周一日期。<br/> * * @param dateTime 指定日期 * @return long - 日期所在周的周一日期 */ public static final long getFrstDateOfWeekByDate(long dateTime) { // 日期處理對象初始化 Calendar cldr = Calendar.getInstance(); // 指定時間設置 cldr.setTimeInMillis(dateTime); // 指定時間周期判斷 if (cldr.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) { // 周日時,計算本周一日期 cldr.add(Calendar.DAY_OF_MONTH, -6); } else if (cldr.get(Calendar.DAY_OF_WEEK) > Calendar.MONDAY) { // 周二至周六時,計算本周一日期 cldr.add(Calendar.DAY_OF_MONTH, (2 - cldr.get(Calendar.DAY_OF_WEEK))); } // 處理結果返回 return cldr.getTimeInMillis(); } /** * 取得指定日期所在周的周日日期。<br/> * * @param dateTime 指定日期 * @return long - 日期所在周的周日日期 */ public static final long getLastDateOfWeekByDate(long dateTime) { // 日期處理對象初始化 Calendar cldr = Calendar.getInstance(); // 指定時間設置 cldr.setTimeInMillis(dateTime); // 指定時間周期判斷 if (cldr.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) { // 周一至周六時,計算本周日日期 cldr.add(Calendar.DAY_OF_MONTH, (8 - cldr.get(Calendar.DAY_OF_WEEK))); } // 處理結果返回 return cldr.getTimeInMillis(); }</pre><br />
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!