Java各種日期計算

jopen 10年前發布 | 17K 次閱讀 Java 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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!