文档章节

FB

不知不觉的路已走到这
 不知不觉的路已走到这
发布于 2017/04/07 17:40
字数 557
阅读 15
收藏 0

需求:前台不传时间 然后自己根据现在时间 去做整月的查询 ,或者···月中时间 然后自己做整月时间给持久层  就酱紫 一个简单的时间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());
}

© 著作权归作者所有

共有 人打赏支持
不知不觉的路已走到这
粉丝 1
博文 11
码字总数 3366
作品 0
杭州
程序员
私信 提问

暂无文章

Windows 10 设置 Java 环境变量

首先你需要在我的电脑中打开,找到环境变量属性。 找到环境变量属性 找到环境变量属性后单击将会看到下面的设置界面。 在这个界面中设置高级系统设置。 环境变量 在弹出的界面中选择设置环境...

honeymose
21分钟前
1
0
用any-loader封装jQuery的XHR —— 随便写着玩系列

哎,都说没人用JQuery啦,叫你别写这个。 其实我也是好高骛远使用过npm上某个和某个很出名的XHR库,嗯,认识我的人都知道我喜欢喷JQ,以前天天喷,见面第一句,你还用JQ,赶紧丢了吧。但我也...

曾建凯
今天
4
0
聊聊storm的AggregateProcessor的execute及finishBatch方法

序 本文主要研究一下storm的AggregateProcessor的execute及finishBatch方法 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout......

go4it
今天
3
0
大数据教程(7.5)hadoop中内置rpc框架的使用教程

博主上一篇博客分享了hadoop客户端java API的使用,本章节带领小伙伴们一起来体验下hadoop的内置rpc框架。首先,由于hadoop的内置rpc框架的设计目的是为了内部的组件提供rpc访问的功能,并不...

em_aaron
今天
5
0
CentOS7+git+github创建Python开发环境

1.准备CentOS7 (1)下载VMware Workstation https://pan.baidu.com/s/1miFU8mk (2)下载CentOS7镜像 https://mirrors.aliyun.com/centos/ (3)安装CentOS7系统 http://blog.51cto.com/fengyuns......

枫叶云
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部