zoukankan      html  css  js  c++  java
  • Java获取当日的起始时间,结束时间,现在时间,是否在时间段中。

    当日的起始时间

     public static Date getTodayStartTime() {
            Calendar todayStart = Calendar.getInstance();
            todayStart.set(Calendar.HOUR_OF_DAY, 0);
            todayStart.set(Calendar.MINUTE, 0);
            todayStart.set(Calendar.SECOND, 0);
            return todayStart.getTime();
        }
    

     结束时间

       public static Date getTodayEndTime() {
            Calendar todayEnd = Calendar.getInstance();
            todayEnd.set(Calendar.HOUR_OF_DAY, 23);
            todayEnd.set(Calendar.MINUTE, 59);
            todayEnd.set(Calendar.SECOND, 59);
            return todayEnd.getTime();
        }
    

     现在时间

     public static Date getNowDate() {
            Calendar now = Calendar.getInstance();
            return now.getTime();
        }
    

     是否在时间段中

    写了两种实现,date和localdatetime的两种方式

        public static boolean inTime(Date nowTime, Date beginTime, Date endTime) {
            Calendar date = Calendar.getInstance();
            date.setTime(nowTime);
    
            Calendar begin = Calendar.getInstance();
            begin.setTime(beginTime);
    
            Calendar end = Calendar.getInstance();
            end.setTime(endTime);
    
            if (date.after(begin) && date.before(end)) {
                return true;
            } else {
                return false;
            }
        }
    
        public static boolean hourInTime(Date beginTime, Date endTime) {
            SimpleDateFormat df = new SimpleDateFormat("HH:mm");
            Date nowTime = null;
            try {
                nowTime = df.parse(df.format(new Date()));
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return inTime(nowTime, beginTime, endTime);
        }
    
        public static boolean inTime(LocalDateTime time, LocalDateTime beginTime, LocalDateTime endTime) {
            return (time.isAfter(beginTime) && time.isBefore(endTime));
        }
    
        public static boolean hourInTime(LocalDateTime beginTime, LocalDateTime endTime) {
            return inTime(LocalDateTime.now(), beginTime, endTime);
        }

    localdatetime的优点就是代码简洁,但是不方便,因为localdatetime一定是带年月日时分秒的。

    而date则方便了许多,可以只比较时分(hourInTime),日(dayInTime),月(monthInTime)之类的,但是date类型大多数方法官方不建议使用。

  • 相关阅读:
    java连接常见数据库的连接字符串
    一个用来自动管理大容量表的Sql脚本
    Ibatis2.0使用说明(一)——入门实例篇
    态度决定你的人生高度
    jboss配置入门(二) -JBOSS3.2.3/3.2.6部署及配置修改
    如何在一个工程里面实现不同的功能打入不同的日志文件中【log4net】
    Xsl实践总结(一)
    Xsl实践总结(三)-介绍一款开发XSL不错的IDE(Stylus)
    Xsl实践总结(二)
    教你节省时间 让你个人效率翻三倍
  • 原文地址:https://www.cnblogs.com/ydymz/p/9014418.html
Copyright © 2011-2022 走看看