Разработчики на Java часто сталкиваются с задачей преобразования строки в дату. Например, есть строка ’21 декабря 2021 года’, и требуется преобразовать ее в экземпляр класса Date.
Преобразование такого рода обычно выполняется с помощью класса SimpleDateFormat из библиотеки Java. Этот класс позволяет задать шаблон даты и времени, а затем использовать его для преобразования строки в дату.
Пример
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) throws Exception {
String strDate = "21 декабря 2021 года";
SimpleDateFormat format = new SimpleDateFormat("d MMMM yyyy года");
Date date = format.parse(strDate);
System.out.println(date);
}
}
В этом примере используется шаблон "d MMMM yyyy года", который соответствует формату строки даты.
Разбиение даты на составляющие
После того, как строка была преобразована в дату, можно разбить ее на составляющие — день, месяц и год. Для этого можно воспользоваться следующими методами класса Date:
getDate()— возвращает день месяцаgetMonth()— возвращает месяц (начиная с 0, т.е. январь — это 0, февраль — 1, и т.д.)getYear()— возвращает год (с учетом смещения 1900 годов, т.е. 2021 год возвращается как 121)
Пример
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) throws Exception {
String strDate = "21 декабря 2021 года";
SimpleDateFormat format = new SimpleDateFormat("d MMMM yyyy года");
Date date = format.parse(strDate);
System.out.println("День: " + date.getDate());
System.out.println("Месяц: " + date.getMonth());
System.out.println("Год: " + (1900 + date.getYear()));
}
}
Преобразование даты в миллисекунды
Если требуется преобразовать дату в миллисекунды (например, для сравнения дат), можно использовать метод getTime() класса Date.
Пример
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) throws Exception {
String strDate = "21 декабря 2021 года";
SimpleDateFormat format = new SimpleDateFormat("d MMMM yyyy года");
Date date = format.parse(strDate);
long millis = date.getTime();
System.out.println("Миллисекунды: " + millis);
}
}
Таким образом, преобразование строки в дату в Java выполняется с помощью класса SimpleDateFormat, а разбиение даты на составляющие и преобразование в миллисекунды — с помощью методов класса Date.
Перейти в телеграм, чтобы получить результаты теста



Забрать
Добавить комментарий