Java各种日期计算

原创
2014/09/05 10:53
阅读数 282

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();
    }

展开阅读全文
打赏
0
17 收藏
分享
加载中
更多评论
打赏
0 评论
17 收藏
0
分享
返回顶部
顶部