Operaciones de fecha y hora Java8 Operaciones de fecha y hora Java8

Operación de fecha y hora Java8

 

1. Introducción

  Antes de Java 8, los desarrolladores criticaban la API de fecha y hora, incluidos: java.util.Date es un tipo variable, SimpleDateFormat no es seguro para subprocesos y otros problemas. Por lo tanto, Java8 introdujo un nuevo conjunto de API de procesamiento de fecha y hora, la nueva API se basa en el sistema de calendario estándar ISO.

    

Segundo, la fecha

  Ejemplo 1: Obtenga la fecha de hoy

    LocalDate en Java 8 se utiliza para representar la fecha de hoy. A diferencia de java.util.Date, solo tiene una fecha y no tiene hora.

public static void main (String [] args) { 
  LocalDate date = LocalDate.now (); 
  System.out.println ("当前 日期 =" + fecha); 
}

 

  Ejemplo 2: construir la fecha especificada

    Llame al método de fábrica LocalDate.of () para crear cualquier fecha. Este método debe pasar el año, mes y día como parámetros y devolver la instancia de LocalDate correspondiente. La ventaja de este método es que no hay más errores de diseño de la antigua API, como el año comienza en 1900, el mes comienza en 0, etc.

public static void main (String [] args) { 
    LocalDate date = LocalDate.of (2000, 1, 1); 
    System.out.println ("千禧 年 =" + fecha); 
}

 

  Ejemplo 3: obtener información de año, mes y día

public static void main (String [] args) { 
    LocalDate date = LocalDate.now (); 
    System.out.printf ("年 =% d , 月 =% d , 日 =% d", date.getYear (), date.getMonthValue (), date.getDayOfMonth ()); 
}

 

  Ejemplo 4: Compara dos fechas para la igualdad

public static void main (String [] args) { 
    LocalDate now = LocalDate.now (); 
    Fecha LocalDate = LocalDate.of (2018, 9, 24); 
    System.out.println ("日期 是否 相等 =" + now.equals (fecha)); 
}

 

3. Hora de saber

  Ejemplo: obtener la hora actual

    LocalTime en Java 8 se utiliza para indicar la hora del día. A diferencia de java.util.Date, solo tiene tiempo y no tiene fecha.

public static void main (String [] args) { 
    LocalTime time = LocalTime.now (); 
    System.out.println ("当前 时间 =" + tiempo); 
}

 

Cuarto, comparación y cálculo.

  Ejemplo 1: cálculo de fecha y hora

    Java8 proporciona un nuevo método plusXxx () para calcular el valor de incremento de fecha y hora, reemplazando el método add () original. La nueva API devolverá un nuevo ejemplo de fecha y hora que debe recibirse con un nuevo objeto.

Código de copia
    public static void main (String [] args) {
         
     // 时间 增量 LocalTime time = LocalTime.now (); LocalTime newTime = time.plusHours (2); System.out.println ("newTime =" + newTime);      // 日期 增量 LocalDate date = LocalDate.now (); LocalDate newDate = date.plus (1, ChronoUnit.WEEKS); System.out.println ("newDate =" + newDate); }
Código de copia

 

  Ejemplo 2: comparación de fecha y hora

    Java8 proporciona isAfter () y isBefore () para juzgar la comparación entre la fecha y hora actuales y la fecha y hora especificadas

Código de copia
    public static void main (String [] args) { 
        
        LocalDate now = LocalDate.now (); 
        
        LocalDate date1 = LocalDate.of (2000, 1, 1); 
        if (now.isAfter (date1)) { 
            System.out.println ( "El milenio ha pasado"); 
        } 
        
        LocalDate date2 = LocalDate.of (2020, 1, 1); 
        if (now.isBefore (date2)) { 
            System.out.println ("2020 aún no ha llegado"); 
        } 
        
    }
Código de copia

 

V. Zona horaria

  Ejemplo: crear una fecha y hora con zona horaria

    Java 8 no solo separa la fecha y la hora, sino también la zona horaria. Ahora hay una serie de clases separadas como ZoneId para tratar con una zona horaria específica y la clase ZoneDateTime para representar la hora en una zona horaria determinada.

Código de copia
    public static void main (String [] args) { 
        
        // 上海 时间
        ZoneId shanghaiZoneId = ZoneId.of ("Asia / Shanghai"); 
        ZonedDateTime shanghaiZonedDateTime = ZonedDateTime.now (shanghaiZoneId); 
        
        // 东京 时间
        ZoneId tokyoZoneId = ZoneId.of ("Asia / Tokio"); 
        ZonedDateTime tokyoZonedDateTime = ZonedDateTime.now (tokyoZoneId); 
        
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern ("aaaa-MM-dd HH: mm: ss"); 
        System.out.println ("上海 时间:" + shanghaiZonedDateTime.format (formateador)); 
        System.out.println ("东京 时间:" + tokyoZonedDateTime.format (formateador)); 
        
    }
Código de copia

 

Seis, formato

  Ejemplo 1: analizar y formatear fechas usando formatos predefinidos

Código de copia
  public static void main (String [] args) { 
        
        // Parse date 
        String dateText = "20180924"; 
        LocalDate date = LocalDate.parse (dateText, DateTimeFormatter.BASIC_ISO_DATE); 
        System.out.println ("Fecha después del formato =" + date); 
        
        // format date 
        dateText = date.format (DateTimeFormatter.ISO_DATE); 
        System.out.println ("dateText =" + dateText); 
        
    }
Código de copia

 

  Ejemplo 2: conversión entre fecha y cadena

Código de copia
    public static void main (String [] args) { 
        
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern ("aaaa-MM-dd HH: mm: ss"); 
        
        // 日期 时间 转 字符串
        LocalDateTime now = LocalDateTime.now (); 
        Cadena nowText = now.format (formateador); 
        System.out.println ("nowText =" + nowText); 
        
        // 字符串 转 日期 时间
        String datetimeText = "1999-12-31 23:59:59"; 
        LocalDateTime datetime = LocalDateTime.parse (datetimeText, formatter); 
        System.out.println (fecha y hora); 
        
    }
Código de copia

 

Seven, descripción relacionada

Código de copia
Marca de tiempo instantánea 
Duración Duración, diferencia 
horaria LocalDate solo contiene la fecha, por ejemplo: 2018-09-24 
LocalTime solo contiene la hora, por ejemplo: 10:32:10 
LocalDateTime contiene la fecha y hora, por ejemplo: 2018-09-24 10:32:10 
Zona horaria de 
peroides ZoneOffset offset de zona horaria, por ejemplo: +8: 00 
ZonedDateTime date time 
Clock clock con zona horaria , se puede utilizar para obtener la marca de hora actual 
java.time.format.DateTimeFormatter clase de formato de hora
Código de copia

1. Introducción

  Antes de Java 8, los desarrolladores criticaban la API de fecha y hora, incluidos: java.util.Date es un tipo variable, SimpleDateFormat no es seguro para subprocesos y otros problemas. Por lo tanto, Java8 introdujo un nuevo conjunto de API de procesamiento de fecha y hora, la nueva API se basa en el sistema de calendario estándar ISO.

    

Segundo, la fecha

  Ejemplo 1: Obtenga la fecha de hoy

    LocalDate en Java 8 se utiliza para representar la fecha de hoy. A diferencia de java.util.Date, solo tiene una fecha y no tiene hora.

public static void main (String [] args) { 
  LocalDate date = LocalDate.now (); 
  System.out.println ("当前 日期 =" + fecha); 
}

 

  Ejemplo 2: construir la fecha especificada

    Llame al método de fábrica LocalDate.of () para crear cualquier fecha. Este método debe pasar el año, mes y día como parámetros y devolver la instancia de LocalDate correspondiente. La ventaja de este método es que no hay más errores de diseño de la antigua API, como el año comienza en 1900, el mes comienza en 0, etc.

public static void main (String [] args) { 
    LocalDate date = LocalDate.of (2000, 1, 1); 
    System.out.println ("千禧 年 =" + fecha); 
}

 

  Ejemplo 3: obtener información de año, mes y día

public static void main (String [] args) { 
    LocalDate date = LocalDate.now (); 
    System.out.printf ("年 =% d , 月 =% d , 日 =% d", date.getYear (), date.getMonthValue (), date.getDayOfMonth ()); 
}

 

  Ejemplo 4: Compara dos fechas para la igualdad

public static void main (String [] args) { 
    LocalDate now = LocalDate.now (); 
    Fecha LocalDate = LocalDate.of (2018, 9, 24); 
    System.out.println ("日期 是否 相等 =" + now.equals (fecha)); 
}

 

3. Hora de saber

  Ejemplo: obtener la hora actual

    LocalTime en Java 8 se utiliza para indicar la hora del día. A diferencia de java.util.Date, solo tiene tiempo y no tiene fecha.

public static void main (String [] args) { 
    LocalTime time = LocalTime.now (); 
    System.out.println ("当前 时间 =" + tiempo); 
}

 

Cuarto, comparación y cálculo.

  Ejemplo 1: cálculo de fecha y hora

    Java8 proporciona un nuevo método plusXxx () para calcular el valor de incremento de fecha y hora, reemplazando el método add () original. La nueva API devolverá un nuevo ejemplo de fecha y hora que debe recibirse con un nuevo objeto.

Código de copia
    public static void main (String [] args) {
         
     // 时间 增量 LocalTime time = LocalTime.now (); LocalTime newTime = time.plusHours (2); System.out.println ("newTime =" + newTime);      // 日期 增量 LocalDate date = LocalDate.now (); LocalDate newDate = date.plus (1, ChronoUnit.WEEKS); System.out.println ("newDate =" + newDate); }
Código de copia

 

  Ejemplo 2: comparación de fecha y hora

    Java8 proporciona isAfter () y isBefore () para juzgar la comparación entre la fecha y hora actuales y la fecha y hora especificadas

Código de copia
    public static void main (String [] args) { 
        
        LocalDate now = LocalDate.now (); 
        
        LocalDate date1 = LocalDate.of (2000, 1, 1); 
        if (now.isAfter (date1)) { 
            System.out.println ( "El milenio ha pasado"); 
        } 
        
        LocalDate date2 = LocalDate.of (2020, 1, 1); 
        if (now.isBefore (date2)) { 
            System.out.println ("2020 aún no ha llegado"); 
        } 
        
    }
Código de copia

 

V. Zona horaria

  Ejemplo: crear una fecha y hora con zona horaria

    Java 8 no solo separa la fecha y la hora, sino también la zona horaria. Ahora hay una serie de clases separadas como ZoneId para tratar con una zona horaria específica y la clase ZoneDateTime para representar la hora en una zona horaria determinada.

Código de copia
    public static void main (String [] args) { 
        
        // 上海 时间
        ZoneId shanghaiZoneId = ZoneId.of ("Asia / Shanghai"); 
        ZonedDateTime shanghaiZonedDateTime = ZonedDateTime.now (shanghaiZoneId); 
        
        // 东京 时间
        ZoneId tokyoZoneId = ZoneId.of ("Asia / Tokio"); 
        ZonedDateTime tokyoZonedDateTime = ZonedDateTime.now (tokyoZoneId); 
        
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern ("aaaa-MM-dd HH: mm: ss"); 
        System.out.println ("上海 时间:" + shanghaiZonedDateTime.format (formateador)); 
        System.out.println ("东京 时间:" + tokyoZonedDateTime.format (formateador)); 
        
    }
Código de copia

 

Seis, formato

  Ejemplo 1: analizar y formatear fechas usando formatos predefinidos

Código de copia
  public static void main (String [] args) { 
        
        // Parse date 
        String dateText = "20180924"; 
        LocalDate date = LocalDate.parse (dateText, DateTimeFormatter.BASIC_ISO_DATE); 
        System.out.println ("Fecha después del formato =" + date); 
        
        // format date 
        dateText = date.format (DateTimeFormatter.ISO_DATE); 
        System.out.println ("dateText =" + dateText); 
        
    }
Código de copia

 

  Ejemplo 2: conversión entre fecha y cadena

Código de copia
    public static void main (String [] args) { 
        
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern ("aaaa-MM-dd HH: mm: ss"); 
        
        // 日期 时间 转 字符串
        LocalDateTime now = LocalDateTime.now (); 
        Cadena nowText = now.format (formateador); 
        System.out.println ("nowText =" + nowText); 
        
        // 字符串 转 日期 时间
        String datetimeText = "1999-12-31 23:59:59"; 
        LocalDateTime datetime = LocalDateTime.parse (datetimeText, formatter); 
        System.out.println (fecha y hora); 
        
    }
Código de copia

 

Seven, descripción relacionada

Código de copia
Marca de tiempo instantánea 
Duración Duración, diferencia 
horaria LocalDate solo contiene la fecha, por ejemplo: 2018-09-24 
LocalTime solo contiene la hora, por ejemplo: 10:32:10 
LocalDateTime contiene la fecha y hora, por ejemplo: 2018-09-24 10:32:10 
Zona horaria de 
peroides ZoneOffset offset de zona horaria, por ejemplo: +8: 00 
ZonedDateTime date time 
Clock clock con zona horaria , se puede utilizar para obtener la marca de hora actual 
java.time.format.DateTimeFormatter clase de formato de hora
Código de copia

Supongo que te gusta

Origin www.cnblogs.com/aimei/p/12721548.html
Recomendado
Clasificación