Date:
//获取当前时间戳带毫秒值 long l = System.currentTimeMillis(); //获取本地时间 Date date = new Date(); //传入时间戳换算为对象 Date x = new Date(l); //获取时间戳 long time = date.getTime(); //date的格式化和解析构造器可以使用字符串控制格式 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(); //格式化字符串 String format = simpleDateFormat.format(date); //解析str simpleDateFormat.parse(format);
Calendar:
//抽象类 // 方式一:创建子类 GregorianCalendar gregorianCalendar = new GregorianCalendar(); //方式二:调用getInstance Calendar instance = Calendar.getInstance(); //获取这个月的第几天取决于常量 int i = instance.get(Calendar.DAY_OF_MONTH); //这个月的第几天取决于常量改为22天 instance.set(Calendar.DAY_OF_MONTH,22); //这个月的第几天再加1天 instance.add(Calendar.DAY_OF_MONTH,1); //得到Date Date time = instance.getTime(); //传入date设置时间 instance.setTime(time);
LocalDate:
/* java8新增 java.time */ //日期 LocalDate date = LocalDate.now(); //时间 LocalTime time1 = LocalTime.now(); //日期和时间 LocalDateTime localdatetime = LocalDateTime.now(); //没有偏移量 LocalDateTime dateTime = LocalDateTime.of(2020, 1, 1, 0, 0, 0, 0); //本月第几天 int dayOfMonth = localdatetime.getDayOfMonth(); //设置当月第22天 LocalDateTime localDateTime = localdatetime.withDayOfMonth(22); //再现有是时间上增加 LocalDateTime localDateTime1 = localdatetime.plusDays(1);
Instant:瞬时:
//实例化得到本初子午线伦敦时间 Instant instant = Instant.now(); //设置时区等于本初子午线加8小时 OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8)); //获取时间戳 long l = instant.toEpochMilli(); //实例化时间 Instant instant1 = Instant.ofEpochMilli(l);
DateTimeFormatter:格式化或解析日期时间
//创建对象 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE; //格式化 String format = dateTimeFormatter.format(LocalDateTime.now()); //解析 TemporalAccessor parse = dateTimeFormatter.parse(format); //创建对象参数决定输出格式 DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL); //自定义创建 DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");