获取当天00:00:00时间的方法

1、使用 Calendar 获取0点时间。

Calendar calendar = Calendar.getInstance();
                calendar.setTime(new Date());
                calendar.set(Calendar.HOUR_OF_DAY, 0);
                calendar.set(Calendar.MINUTE, 0);
                calendar.set(Calendar.SECOND, 0);
                // 当天0点时间
                Date zero = calendar.getTime();
                // 当天零点时间戳
                long date = calendar.getTime().getTime()

  扩展:

      long current=System.currentTimeMillis();//当前时间毫秒数
        long zero=current/(1000*3600*24)*(1000*3600*24)-TimeZone.getDefault().getRawOffset();//今天零点零分零秒的毫秒数
        long twelve=zero+24*60*60*1000-1;//今天23点59分59秒的毫秒数
        long yesterday=System.currentTimeMillis()-24*60*60*1000;//昨天的这一时间的毫秒数
        System.out.println(new Timestamp(current));//当前时间
        System.out.println(new Timestamp(yesterday));//昨天这一时间点
        System.out.println(new Timestamp(zero));//今天零点零分零秒
        System.out.println(new Timestamp(twelve));//今天23点59分59秒

2、使用SimpleDateFormat 获取零点时间。

SimpleDateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd");
long todayZero = dayFormat.parse(dayFormat.format(new Date())).getTime();

3、最直接简单获取零点时间。

long ts = System.currentTimeMillis();
long zero = ts - ts % 86400000 - 28800000; // 东8时区要减掉8小时的毫秒数28800000

Calendar扩展

        1、获取值

Calendar cal = Calendar.getInstance();

cal.get(Calendar.YEAR);//年
cal.get(Calendar.MONTH) + 1;//月(必须要+1)
cal.get(Calendar.DATE);//日
cal.get(Calendar.HOUR_OF_DAY);//时
cal.get(Calendar.MINUTE);//分
cal.get(Calendar.SECOND);//秒
cal.get(Calendar.DAY_OF_WEEK);//星期(Locale.ENGLISH情况下,周日是1,剩下自己推算)

        2、设置值

Calendar cal = Calendar.getInstance();

cal.set(2013, 5, 4, 13, 44, 51);//年月日时分秒(月份0代表1月)
cal.set(Calendar.YEAR, 2014);//年
cal.set(Calendar.MONTH, 7);//月(月份0代表1月)
cal.set(Calendar.DATE, 11);//日
cal.set(Calendar.HOUR_OF_DAY, 15);//时
cal.set(Calendar.MINUTE, 33);//分
cal.set(Calendar.SECOND, 32);//秒

        3、运算值

Calendar cal = Calendar.getInstance();

cal.add(Calendar.YEAR, 1);//年
cal.add(Calendar.MONTH, 1);//月
cal.add(Calendar.DATE, 1);//日
cal.add(Calendar.HOUR_OF_DAY, -1);//时
cal.add(Calendar.MINUTE, 1);//分
cal.add(Calendar.SECOND, 1);//秒
cal.add(Calendar.DATE, 7);//周

猜你喜欢

转载自blog.csdn.net/m0_73900214/article/details/131043962
00