Java8 Date

java8 Date

Java日期时间API(java.time.Instant)中的Instant类表示时间线上的特定时刻。 该时刻被定义为自原点(称为时期)以来的偏移量。 起源于1970年1月1日 - 00:00 - 格林威治时间(GMT)。

时间使用每天86.400秒测量,从原点向前移动。

创建Instant对象

 Instant instant = Instant.now();
 

日期计算

  • plusSeconds()
  • plusMillis()
  • plusNanos()
  • minusSeconds()
  • minusMillis()
  • minusNanos()
Instant now     = Instant.now();

Instant later   = now.plusSeconds(3);
Instant earlier = now.minusSeconds(3);

Duration

持续时间实例是不可变的,因此一旦创建,您将无法更改其值。 但是,您可以通过计算方法基于另一个Duration对象创建新的Duration对象。 您将看到本教程的后续内容。

创建Duration
Instant first = Instant.now();

// wait some time while something happens

Instant second = Instant.now();


Duration duration = Duration.between(first, second);

时间转化
  • getNano()

  • getSeconds()

  • toNanos()

  • toMillis()

  • toMinutes()

  • toHours()

  • toDays()

计算
  • plusNanos()
  • plusMillis()
  • plusSeconds()
  • plusMinutes()
  • plusHours()
  • plusDays()
  • minusNanos()
  • minusMillis()
  • minusSeconds()
  • minusMinutes()
  • minusHours()
  • minusDays()

LocalDate

创建 LocalDate
LocalDate localDate = LocalDate.now();

LocalDate localDate2 = LocalDate.of(2015, 12, 31);

获取LocalDate 的相关数据
  • getYear()
  • getMonth()
  • getDayOfMonth()
  • getDayOfWeek()
  • getDayOfYear()
LocalDate 的加减法
  • plusDays()
  • plusWeeks()
  • plusMonths()
  • plusYears()
  • minusDays()
  • minusWeeks()
  • minusMonths()
  • minusYears()

LocalTime

创建对象
 LocalTime localTime = LocalTime.now();
 
LocalTime localTime2 = LocalTime.of(21, 30, 59, 11001);

LocalTime 获取相关信息
  • getHour()
  • getMinute()
  • getSecond()
  • getNano()
LocalTime 计算
  • plusHours()
  • plusMinutes()
  • plusSeconds()
  • plusNanos()
  • minusHours()
  • minusMinutes()
  • minusSeconds()
  • minusNanos()

LocalDateTime

创建实例
LocalDateTime localDateTime = LocalDateTime.now();

LocalDateTime localDateTime2 =
    LocalDateTime.of(2015, 11, 26, 13, 55, 36, 123);
    
  • getYear()
  • getMonth()
  • getDayOfMonth()
  • getDayOfWeek()
  • getDayOfYear()
  • getHour()
  • getMinute()
  • getSecond()
  • getNano()
计算
  • plusYears()
  • plusMonths()
  • plusDays()
  • plusHours()
  • plusMinutes()
  • plusSeconds()
  • plusNanos()
  • minusYears()
  • minusMonths()
  • minusDays()
  • minusHours()
  • minusMinutes()
  • minusSeconds()
  • minusNanos()

DateTimeFormatter

DateTimeFormatter类包含一组预定义(常量)实例,可以从标准日期格式解析和格式化日期。 这样可以节省定义DateTimeFormatter的日期格式的麻烦。 DateTimeFormatter类包含以下预定义实例:

BASIC_ISO_DATE

ISO_LOCAL_DATE
ISO_LOCAL_TIME
ISO_LOCAL_DATE_TIME

ISO_OFFSET_DATE
ISO_OFFSET_TIME
ISO_OFFSET_DATE_TIME

ISO_ZONED_DATE_TIME

ISO_INSTANT

ISO_DATE
ISO_TIME
ISO_DATE_TIME

ISO_ORDINAL_TIME
ISO_WEEK_DATE

RFC_1123_DATE_TIME

DateTimeFormatter formatter = DateTimeFormatter.BASIC_ISO_DATE;

String formattedZonedDate = formatter.format(ZonedDateTime.now());
System.out.println("formattedZonedDate = " + formattedZonedDate);

可以使用ofpattern

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.err.println(dateTimeFormatter.format(LocalDateTime.now()));

输出

2017-05-12 16:00:41

你可能感兴趣的:(Java8 Date)