Розбір дати з рядка

Java:
Розбір дати з рядка

Як:

Використовуючи пакунок java.time (Рекомендовано в Java 8 та пізніше):

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class DateParser {
    public static void main(String[] args) {
        String dateString = "2023-04-30";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate date = LocalDate.parse(dateString, formatter);
        System.out.println(date); // Вивід: 2023-04-30
    }
}

Використовуючи SimpleDateFormat (Старий підхід):

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateParser {
    public static void main(String[] args) {
        String dateString = "30/04/2023";
        SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
        try {
            Date date = formatter.parse(dateString);
            System.out.println(date); // Формат виводу залежить від формату за замовчуванням вашої системи
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

Використовуючи сторонні бібліотеки (напр., Joda-Time):

Joda-Time була значною сторонньою бібліотекою, але тепер знаходиться в режимі обслуговування через введення пакунка java.time в Java 8. Однак для тих, хто використовує версії Java до 8, Joda-Time є гарним вибором.

import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

public class DateParser {
    public static void main(String[] args) {
        String dateString = "2023-04-30";
        DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd");
        LocalDate date = LocalDate.parse(dateString, formatter);
        System.out.println(date); // Вивід: 2023-04-30
    }
}

Зверніть увагу, що при роботі з датами завжди будьте обачні щодо налаштувань часового поясу, якщо ви аналізуєте або форматуєте дати-часи, а не просто дати.