FB

需求:前台不传时间 然后自己根据现在时间 去做整月的查询 ,或者···月中时间 然后自己做整月时间给持久层  就酱紫 一个简单的时间util  复制粘贴 做个记录

public class 我是工具类 {
    public static final String START_TIME = "0"; // 开始时间
    public static final String END_TIME = "1"; // 结束时间


    /**
     * 今日
     *
     * @return
     */
    public static Calendar today() {
        return Calendar.getInstance();
    }

    /**
     * 本周的第一天 <br/>
     * 中国的一周第一天
     *
     * @return
     */
    public static Calendar firstDayOfWeek() {
        Calendar calendar = today();
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
        return calendar;
    }

    /**
     * 本周的最后一天 <br/>
     * 本周周日
     *
     * @return
     */
    public static Calendar lastDayOfWeek() {
        Calendar calendar = today();
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); // 上周日[国外为 本周周日]
        calendar.add(Calendar.WEEK_OF_YEAR, 1); // 加一周,为中国的周日
        return calendar;
    }

    /**
     * 月初
     *
     * @return
     */
    public static Calendar firstDayOfMonth() {
        Calendar calendar = today();
        return firstDayOfMonth(calendar);
    }

    /**
     * 月初
     *
     * @param times
     * @return
     */
    public static Calendar firstDayOfMonth(long times) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(times);
        return firstDayOfMonth(calendar);
    }

    /**
     * 月初
     *
     * @param calendar
     * @return
     */
    public static Calendar firstDayOfMonth(Calendar calendar) {
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
        return calendar;
    }

    /**
     * 月末
     *
     * @return
     */
    public static Calendar lastDayOfMonth() {
        Calendar calendar = today();
        return lastDayOfMonth(calendar);
    }

    /**
     * 月末
     *
     * @param calendar
     * @return
     */
    public static Calendar lastDayOfMonth(Calendar calendar) {
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        return calendar;
    }

    /**
     * 月末
     *
     * @param times
     * @return
     */
    public static Calendar lastDayOfMonth(long times) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(times);
        return lastDayOfMonth(calendar);
    }

    /**
     * 年初
     *
     * @return
     */
    public static Calendar firstDayOfYear() {
        Calendar calendar = today();
        calendar.set(Calendar.DAY_OF_YEAR, calendar.getActualMinimum(Calendar.DAY_OF_YEAR));
        return calendar;
    }

    /**
     * 年末
     *
     * @return
     */
    public static Calendar lastDayOfYear() {
        Calendar calendar = today();
        calendar.set(Calendar.DAY_OF_YEAR, calendar.getActualMaximum(Calendar.DAY_OF_YEAR));
        return calendar;
    }

    /**
     * 设置目标时间的时分秒[毫秒]
     *
     * @param calendar
     * @param hour
     * @param minute
     * @param second
     * @param milliSecond
     * @return
     */
    public static Calendar buildTime(Calendar calendar, int hour, int minute, int second, int milliSecond) {
        calendar.set(Calendar.HOUR_OF_DAY, hour);
        calendar.set(Calendar.MINUTE, minute);
        calendar.set(Calendar.SECOND, second);
        calendar.set(Calendar.MILLISECOND, milliSecond);
        return calendar;
    }

    /**
     * 设置目标时间的时分秒[毫秒] <br/>
     * <pre>
     *     开始时间 : YYYY-MM-dd 00:00:00
     *     结束时间 : YYYY-MM-dd 23:59:59
     * </pre>
     *
     * @param calendar
     * @param type     0 开始时间 1结束时间
     * @return
     */
    public static Calendar buildTime(Calendar calendar, String type) {
        switch (type) {
            case START_TIME:
                return buildTime(calendar, 0, 0, 0, 0);
            case END_TIME:
                return buildTime(calendar, 23, 59, 59, 999);
            default:
                break;
        }
        return calendar;
    }

实现的话

if (我是时间 != null) {
    我是开始时间(request.getScoreTime());
    我是结束时间(CalendarTools.buildTime(CalendarTools.lastDayOfMonth(request.getScoreTime().getTime()), CalendarTools.END_TIME).getTime());
} else {
    我是开始时间(CalendarTools.buildTime(CalendarTools.firstDayOfMonth(), CalendarTools.START_TIME).getTime());
    我是结束时间(CalendarTools.buildTime(CalendarTools.lastDayOfMonth(), CalendarTools.END_TIME).getTime());
}

转载于:https://my.oschina.net/chenshiyue/blog/875010

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值