Dada una string en formato de fecha, la tarea es convertir esta string en una fecha real. Aquí el concepto principal es el método parse() que ayuda en la conversión.
Ilustración:
Input : string = "2018-10-28T15:23:01Z" Output: 2018-10-28T15:23:01Z Input : string = "28 October, 2018" Output: 2018-10-28
Diferentes métodos para convertir strings a la fecha
- Usando clase instantánea
- Usando la clase DateTimeFormater
- Usando la clase SimpleDateFormat
Sugerencia: debe leer los artículos Clase DateFormat y Clase SimpleDateFormat .
Ahora analicemos el método anterior uno por uno que es el siguiente:
Método 1: usar clase instantánea
La clase instantánea en el paquete java.time proporciona una precisión de nanosegundos. Es similar a la clase Date pero ofrece mayor precisión.
Acercarse:
- Obtenga la string que se va a convertir.
- Cree un objeto de marca de tiempo instantáneo vacío.
- Convierta la string a la fecha usando el método Instant.parse().
- Si se convirtió correctamente, imprima la fecha.
- Si no se convierte correctamente, se lanza la excepción DateTimeParseException.
Ejemplo
Java
// Java Program to Convert String to Date // Using Instant Class // Importing required classes import java.time.Instant; import java.time.format.DateTimeParseException; // Main class class GFG { // Method // To convert String to Date public static Instant getDateFromString(String string) { // Creating an instant object Instant timestamp = null; // Parsing the string to Date timestamp = Instant.parse(string); // Returning the converted timestamp return timestamp; } // Method 2 // Main driver method public static void main(String[] args) { // Getting the string String string = "2018-10-28T15:23:01Z"; // Try block to check for exceptions try { // Getting the Date from String by // creating object of Instant class Instant timestamp = getDateFromString(string); // Printing the converted date System.out.println(timestamp); } // Catch block to handle exceptions catch (DateTimeParseException e) { // Throws DateTimeParseException // if the string cannot be parsed System.out.println("Exception: " + e); } } }
2018-10-28T15:23:01Z
Método 2: usar la clase DateTimeFormatter
Acercarse:
- Obtenga la string que se va a convertir y el formato requerido.
- Cree un objeto LocalDate vacío.
- Convierta la string a la fecha usando el método LocalDate.parse().
- Si se convirtió correctamente, imprima la fecha
- Si el patrón de string no es válido, se lanza IllegalArgumentException.
- Si no se convierte correctamente, se lanza la excepción DateTimeParseException.
Ejemplo:
Java
// Java program to convert String to Date // Using DateTimeFormatter Class // Importing required classes import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; // Main class class GFG { // Method 1 // To convert String to Date public static LocalDate getDateFromString(String string, DateTimeFormatter format) { // Converting the string to date // in the specified format LocalDate date = LocalDate.parse(string, format); // Returning the converted date return date; } // Method 2 // Main driver method public static void main(String[] args) { // Getting the custom string input String string = "28 October, 2018"; // Getting the format by creating an object of // DateTImeFormatter class DateTimeFormatter format = DateTimeFormatter.ofPattern("d MMMM, yyyy"); // Try block to check for exceptions try { // Getting the Date from String LocalDate date = getDateFromString(string, format); // Printing the converted date System.out.println(date); } // Block 1 // Catch block to handle exceptions occurring // if the String pattern is invalid catch (IllegalArgumentException e) { // Display the exception System.out.println("Exception: " + e); } // Block 2 // If the String was unable to be parsed catch (DateTimeParseException e) { // Display the exception System.out.println("Exception: " + e); } } }
2018-10-28
Método 3: Usar la clase SimpleDateFormat
Acercarse:
- Tomando la entrada de string y almacenándola en una string
- Creando un objeto de la clase Date con referencia a la clase SimpleDateFormat
- analizando el formato de fecha en él.
- Imprime la fecha correspondiente.
Ejemplo:
Java
// Java Program to Convert String to Date // Using SimpleDateFormat class // Importing required classes import java.text.SimpleDateFormat; import java.util.Date; // Main class class GFG { // Main driver method public static void main(String[] args) throws Exception { // Custom string as input String strDate = "29/12/96"; // Creating an object of Date class with reference // to SimpleDateFormat class and // lately parsing the above string into it Date date = new SimpleDateFormat("dd/mm/yyyy") .parse(strDate); // Print and display the date corresponding // to above input string System.out.print(strDate + " " + date); } }
29/12/96 Fri Jan 29 00:12:00 UTC 96
Salida: También cuando. ejecutado en la terminal, es el siguiente:
Publicación traducida automáticamente
Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA