文档章节

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 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
1
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
2
0
推荐转载连接

https://www.cnblogs.com/ysocean/p/7409779.html#_label0

小橙子的曼曼
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部