java中日期格式转换

日期格式转换与判断时间是否在某个区间
日期格式转换
       String time1 = "2019-10-12 23:54:25";
        SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date time1Date = df1.parse(time1 );
        SimpleDateFormat df = new SimpleDateFormat("HH:mm");//设置日期格式
        //初始化
        Date nowTime =null;
        Date beginTime = null;
        Date endTime = null;
        try {
            //格式化当前时间格式
            nowTime = df.parse(df.format(time1Date ));
            System.out.println("time1Date :"+time1Date );
            System.out.println("df.format(time1Date ):"+df.format(time1Date ));
            System.out.println("nowTime:"+nowTime);
        } catch (Exception e) {
            e.printStackTrace();
        }

上述代码,

  1. time1转化为日期格式是 Sat Oct 12 23:54:25 CST 2019
  2. time1 以"HH:mm"格式,进行格式化后值为:23:54
  3. 这时将其转化为日期格式,时间就会变成Thu Jan 01 23:54:00 CST 1970,将日期自动补充为计算机时间戳的起始时间1970年一月一日,时分不变
判断时间是否在某个区间(HH:mm:ss)
   		nowTime = df.parse(df.format(time1Date ));
   		beginTime = df.parse("23:30");
           //定义结束时间
           endTime = df.parse("23:59");
           boolean flag = belongCalendar(nowTime, beginTime, endTime);

--------------------------
   		public static 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);
        //处于开始时间之后,和结束时间之前的判断
        if (date.after(begin) && date.before(end)) {
            return true;
        } else {
            return false;
        }
   }

将nowTime/beginTime/endTime 进行日期格式化,由于没有日期,df.format格式化时,会将日期固定位时间戳起始日期,然后进行日期比较就可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值