java中日期类整理
1、java.util.Date类:
//创建一个时间 Date date = new Date(); System.out.println(date); //Thu May 24 10:24:43 CST 2018 //获取当前时间之后100ms的时间 Date date1 = new Date(System.currentTimeMillis()+100); System.out.println(date1); // Thu May 24 10:24:43 CST 2018 //返回该时间对应的long型整数 long time = date.getTime(); System.out.println(time); // 1527128683490 //判断日期是否在指定日期之前 System.out.println(date.before(date1)); // true //判断日期是否在指定日期之后 System.out.println(date.after(date1)); // false //使用SimpleDateFormat格式化日期 Date date2 = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); String dateStr = sdf.format(date2); System.out.println(dateStr); // 2018年05月24日 11时13分45秒
2、java.util.Calendar类:
//创建一个默认的Calendar对象 Calendar calendar = Calendar.getInstance(); //从Calendar对象中取出Date对象 Date date = calendar.getTime(); System.out.println(date); // Thu May 24 10:59:02 CST 2018 //从Date中获取Calendar对象 Calendar calendar1 = Calendar.getInstance(); Date date1 = new Date(); calendar1.setTime(date1); //Calendar对象常用方法 Calendar calendar2 = Calendar.getInstance(); //设置具体时间 calendar2.set(2018,5,24,10,48,23); System.out.println(calendar2.toInstant()); // 2018-06-24T02:48:23.180Z //取出年 System.out.println(calendar2.get(Calendar.YEAR)); // 2018 //取出月 System.out.println(calendar2.get(Calendar.MONTH)); // 5 //取出日 System.out.println(calendar2.get(Calendar.DATE)); // 24 //amount>0为增加,amount<0为减少,有进位和退位,即月超过12,年会进1 calendar2.add(Calendar.YEAR,-1); System.out.println(calendar2.toInstant()); // 2017-06-24T02:48:23.180Z //amount>0为增加,amount<0为减少,增加无进位,减少有退位 calendar2.roll(Calendar.MONTH,-8); System.out.println(calendar2.toInstant()); // 2017-10-24T02:48:23.180Z
3、java.time.*类:
1、日期创建与格式化:
//创建一个日期 LocalDate date = LocalDate.now(); //创建一个时间 LocalTime time = LocalTime.now(); //创建一个日期和时间 LocalDateTime localDateTime = LocalDateTime.now(); //格式化日期 String strdateone = date.format(DateTimeFormatter.BASIC_ISO_DATE); String strdatetwo = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); System.out.println(strdateone); System.out.println(strdatetwo); //字符串解析成日期对象 String strDateThree = "2018-05-08"; String strDateTimeThree = "2018-05-08 12:30:05"; LocalDate dateOne = LocalDate.parse(strDateThree,DateTimeFormatter.ofPattern("yyyy-MM-dd")); LocalDateTime localDateTimeOne = LocalDateTime.parse(strDateTimeThree,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); System.out.println(dateOne); System.out.println(localDateTimeOne);
2、LocalDateTime与Date相互转化:
//创建时间 LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDateTime); // 2018-05-23T16:31:20.582 //LocalDateTime得到日期部分 LocalDate localDate = localDateTime.toLocalDate(); System.out.println(localDate); // 2018-05-23 //LocalDateTime得到时间部分 LocalTime localTime = localDateTime.toLocalTime(); System.out.println(localTime); // 16:31:20.582 //LocalDateTime转Date ZoneId zone = ZoneId.systemDefault(); Instant instant = localDateTime.atZone(zone).toInstant(); Date date = Date.from(instant); System.out.println(date); // Wed May 23 16:31:20 CST 2018 //LocalDate转Date LocalDate localDateOne = LocalDate.now(); Instant instantOne = localDateOne.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant(); Date dateOne = Date.from(instantOne); System.out.println(dateOne); //Wed May 23 00:00:00 CST 2018 //Date转LocalDateTime Date dateTwo = new Date(); Instant instantTwo = dateTwo.toInstant(); ZoneId zoneTwo = ZoneId.systemDefault(); LocalDateTime localDateTimeOne = LocalDateTime.ofInstant(instantTwo, zoneTwo); System.out.println(localDateTimeOne); // 2018-05-23T16:41:28.963

浙公网安备 33010602011771号