java获取某一天23:59:59的时间

开始前先提一下,java获取时间戳和phpc#不太一样,具体哪里不一样,这就要讲一下10位和13位时间戳的区别,10位是phpc#的时间戳精确到,13位是java的时间戳精确到毫秒,时间戳为Long类型,13位Long类型转为Integer类型,会超出Integer大小范围,会转变为负数,所以java转时,要对13位Long进行截取字符串操作,截取位10位即可转换。

获取今天23:59:59

Date today = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(today);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
Date d = calendar.getTime();

获取前一天23:59:59

Date today = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(today);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
//获取前几天的都可以,对-1进行改变即可
//获取后一天的时间也可以,把-1改为1即可
//后几天和前几天同理
calendar.add(Calendar.DAY_OF_MONTH,-1);
Date d = calendar.getTime();

java时间戳转换方法

//java时间戳转换
  Date today = new Date();
  Calendar calendar = Calendar.getInstance();
  calendar.setTime(today);
  calendar.set(Calendar.HOUR_OF_DAY, 23);
  calendar.set(Calendar.MINUTE, 59);
  calendar.set(Calendar.SECOND, 59);
  Date d = calendar.getTime();

  long n = d.getTime();
  String a=String.valueOf(n);
  String q=a.substring(0,10);
  Integer time=Integer.valueOf(q);

不多逼逼,复制粘贴即可使用…

你可能感兴趣的:(java)