zoukankan      html  css  js  c++  java
  • Java判断当前时间是否在某一时间段内

    今天有一个任务,判断现在的时间是否在某一个时间段内

    遇到的第一个问题

    Date类获取日期时间大的方法失效了

    问题描述:

    在学习Date类时,习惯性的用get方法调用Date()的年月日,发现不怎么好用了,

    Date date=newDate();
    Stringyear=date.getYear();

    尝试了其他的get方法如: getDate()getDay()getHours()getMinutes()getMonth()getSeconds() 等好几个get方法以及对应的set方法都弃用了,那在myeclipse中不能用这些方法,

    解决办法:

    Date date=new Date();
    
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");
    
    String time=sdf.format(date);
    
    System.out.println(time);
    

    通过date对象获取到当前的时间, 然后再实例化SimpleDateFormat类时,为其设置日期显示格式"yyyy-MM-dd HH:mm:ss" ,通过第三句代码,将date对象格式化并转化为String 类型输出,就会打印出常见格式的日期了: 2018-9-25 12-12-12

    如果仅仅想要获得年,可以将SimpleDateFormat sdf=newSimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 中的"yyyy-MM-dd HH:mm:ss" 改为”yyyy”,这样得到的就只是年了.

    其他的获得月、日、周、小时、分钟等的格式与年的相似,并且可以相互组合使用。

    • 字母与代表的意思如下表内容所示。
    字母 日期或时间元素 表示 示例
    G 是Era 标识符 Text AD
    y Year 1996; 96
    M 月份 Month July; Jul: 07
    w 年中的周数 Number 27
    W 月份中的周数 Number 2
    D 年中的天数 Number 189
    d 月份中的天数 Number 12
    F 月份中的星期 Number 1
    E 星期中的天数 Text Tuesday;Tue
    a Am/Pm 标记 Text PM
    H 一天中的小时数 (0-23 ) Number 0
    k 一天中的小时数 (1-24) Number 1
    K am/pm 中的小时数(0-11) Number 1
    h am/pm中的小时数(1-12) Number 12
    m 小时中的分钟数 Number 30
    s 分钟中的秒数 Number 50
    S 毫秒数 Number 978
    z 时区 General time zone PacificStandard Time; PST: GMT - 08:00
    Z 时区 RFC822 time zone -0800

    如果想要了解更多的格式化日期方法,可以去查看API文档

    获取次日的时间

    度娘给的答案:

    • 获取系统前一天日期
    public static Date getNextDay(Date date) {
    		Calendar calendar = Calendar.getInstance();
    		calendar.setTime(date);
    		calendar.add(Calendar.DAY_OF_MONTH, -1);
    		date = calendar.getTime();
    		return date;
    	}
    
    • 获取系统当前日期
    public static Date getNextDay(Date date) {
    		Calendar calendar = Calendar.getInstance();
    		calendar.setTime(date);
    		calendar.add(Calendar.DAY_OF_MONTH, 0);
    		date = calendar.getTime();
    		return date;
    	}
    
    • 获取系统下一天日期
    public static Date getNextDay(Date date) {
    		Calendar calendar = Calendar.getInstance();
    		calendar.setTime(date);
    		calendar.add(Calendar.DAY_OF_MONTH, -1);
    		date = calendar.getTime();
    		return date;
    	}
    
    

    最后一个问题

    如何判断一个时间在一个时间段内

        /**
         * Description: 判断一个时间是否在一个时间段内 </br>
         *
         * @param nowTime 当前时间 </br>
         * @param beginTime 开始时间 </br>
         * @param endTime 结束时间 </br>
         */
        private boolean belongCalendar(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);
    
            return date.after(begin) && date.before(end);
        }
    }
    
  • 相关阅读:
    多组件共享-vuex —— 使用vuex 报错 actions should be function or object with ”handler“
    时间复杂度/空间复杂度
    Nodejs学习(三)-安装nodejs supervisor,提高点效率吧。
    Nodejs学习(二)-express生成器
    Nodejs学习(一)-Nodejs和express的安装和配置
    PHP连接MySQL的时候报错SQLSTATE[HY000] [2002] No such file or directory
    phpstorm 16.1 注册码
    Express安装过程
    NodeJs解析web一例
    NodeJs 连接mysql一例。
  • 原文地址:https://www.cnblogs.com/lanaiwanqi/p/10445650.html
Copyright © 2011-2022 走看看