Laboratory_4
This commit is contained in:
parent
84fcba6200
commit
d02fc0035a
@ -1,154 +0,0 @@
|
|||||||
import java.time.LocalDate;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.LocalTime;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
import java.util.Scanner;
|
|
||||||
|
|
||||||
public class DateTimeOperations {
|
|
||||||
public static void main(String[] args) {
|
|
||||||
Scanner scanner = new Scanner(System.in);
|
|
||||||
|
|
||||||
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
|
|
||||||
DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss");
|
|
||||||
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
|
|
||||||
|
|
||||||
System.out.println("Выберите тип операции:");
|
|
||||||
System.out.println("1. Прибавить дни/месяцы/часы/минуты");
|
|
||||||
System.out.println("2. Вычесть дни/месяцы/часы/минуты");
|
|
||||||
int operationType = scanner.nextInt();
|
|
||||||
|
|
||||||
System.out.println("Выберите объект для операции:");
|
|
||||||
System.out.println("1. Дата");
|
|
||||||
System.out.println("2. Время");
|
|
||||||
System.out.println("3. Дата и время");
|
|
||||||
int objectType = scanner.nextInt();
|
|
||||||
|
|
||||||
// Получаем текущую дату, время и дату-время
|
|
||||||
// LocalDate currentDate = LocalDate.now();
|
|
||||||
// LocalTime currentTime = LocalTime.now();
|
|
||||||
// LocalDateTime currentDateTime = LocalDateTime.now();
|
|
||||||
|
|
||||||
// System.out.println("Текущая дата: " + currentDate);
|
|
||||||
// System.out.println("Текущее время: " + currentTime);
|
|
||||||
// System.out.println("Текущее дата и время: " + currentDateTime);
|
|
||||||
|
|
||||||
if (objectType == 1) {
|
|
||||||
// Операции с датой
|
|
||||||
LocalDate date = LocalDate.now();
|
|
||||||
System.out.println("Текущая дата: " + date.format(dateFormatter));
|
|
||||||
|
|
||||||
if (operationType == 1) {
|
|
||||||
System.out.println("Введите количество дней для прибавления:");
|
|
||||||
int days = scanner.nextInt();
|
|
||||||
|
|
||||||
System.out.println("Введите количество месяцев для прибавления:");
|
|
||||||
int months = scanner.nextInt();
|
|
||||||
|
|
||||||
LocalDate newDate = date.plusDays(days).plusMonths(months);
|
|
||||||
System.out.println("Новая дата: " + newDate.format(dateFormatter));
|
|
||||||
} else {
|
|
||||||
System.out.println("Введите количество дней для вычитания:");
|
|
||||||
int days = scanner.nextInt();
|
|
||||||
|
|
||||||
System.out.println("Введите количество месяцев для вычитания:");
|
|
||||||
int months = scanner.nextInt();
|
|
||||||
|
|
||||||
LocalDate newDate = date.minusDays(days).minusMonths(months);
|
|
||||||
System.out.println("Новая дата: " + newDate.format(dateFormatter));
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (objectType == 2) {
|
|
||||||
// Операции со временем
|
|
||||||
LocalTime time = LocalTime.now();
|
|
||||||
System.out.println("Текущее время: " + time.format(timeFormatter));
|
|
||||||
|
|
||||||
if (operationType == 1) {
|
|
||||||
System.out.println("Введите количество часов для прибавления:");
|
|
||||||
int hours = scanner.nextInt();
|
|
||||||
|
|
||||||
System.out.println("Введите количество минут для прибавления:");
|
|
||||||
int minutes = scanner.nextInt();
|
|
||||||
|
|
||||||
LocalTime newTime = time.plusHours(hours).plusMinutes(minutes);
|
|
||||||
System.out.println("Новое время: " + newTime.format(timeFormatter));
|
|
||||||
} else {
|
|
||||||
System.out.println("Введите количество часов для вычитания:");
|
|
||||||
int hours = scanner.nextInt();
|
|
||||||
|
|
||||||
System.out.println("Введите количество минут для вычитания:");
|
|
||||||
int minutes = scanner.nextInt();
|
|
||||||
|
|
||||||
LocalTime newTime = time.minusHours(hours).minusMinutes(minutes);
|
|
||||||
System.out.println("Новое время: " + newTime.format(timeFormatter));
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (objectType == 3) {
|
|
||||||
// Операции с датой и временем
|
|
||||||
LocalDateTime dateTime = LocalDateTime.now();
|
|
||||||
System.out.println("Текущие дата и время: " + dateTime.format(dateTimeFormatter));
|
|
||||||
|
|
||||||
if (operationType == 1) {
|
|
||||||
System.out.println("Введите количество дней для прибавления:");
|
|
||||||
int days = scanner.nextInt();
|
|
||||||
|
|
||||||
System.out.println("Введите количество месяцев для прибавления:");
|
|
||||||
int months = scanner.nextInt();
|
|
||||||
|
|
||||||
System.out.println("Введите количество часов для прибавления:");
|
|
||||||
int hours = scanner.nextInt();
|
|
||||||
|
|
||||||
System.out.println("Введите количество минут для прибавления:");
|
|
||||||
int minutes = scanner.nextInt();
|
|
||||||
|
|
||||||
LocalDateTime newDateTime = dateTime.plusDays(days).plusMonths(months).plusHours(hours).plusMinutes(minutes);
|
|
||||||
System.out.println("Новые дата и время: " + newDateTime.format(dateTimeFormatter));
|
|
||||||
} else {
|
|
||||||
System.out.println("Введите количество дней для вычитания:");
|
|
||||||
int days = scanner.nextInt();
|
|
||||||
|
|
||||||
System.out.println("Введите количество месяцев для вычитания:");
|
|
||||||
int months = scanner.nextInt();
|
|
||||||
|
|
||||||
System.out.println("Введите количество часов для вычитания:");
|
|
||||||
int hours = scanner.nextInt();
|
|
||||||
|
|
||||||
System.out.println("Введите количество минут для вычитания:");
|
|
||||||
int minutes = scanner.nextInt();
|
|
||||||
|
|
||||||
LocalDateTime newDateTime = dateTime.minusDays(days).minusMonths(months).minusHours(hours).minusMinutes(minutes);
|
|
||||||
System.out.println("Новые дата и время: " + newDateTime.format(dateTimeFormatter));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ввод и разбор даты
|
|
||||||
scanner.nextLine(); // consume the newline
|
|
||||||
System.out.println("Введите дату в формате 'dd-MM-yyyy':");
|
|
||||||
String dateString = scanner.nextLine();
|
|
||||||
if (dateString != null && !dateString.trim().isEmpty()) {
|
|
||||||
try {
|
|
||||||
LocalDate parsedDate = LocalDate.parse(dateString, dateFormatter);
|
|
||||||
System.out.println("Преобразованная дата: " + parsedDate);
|
|
||||||
} catch (Exception e) {
|
|
||||||
System.out.println("Ошибка: Некорректный формат даты.");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
System.out.println("Ошибка: Дата не может быть пустой.");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ввод и разбор даты и времени
|
|
||||||
System.out.println("Введите дату и время в формате 'dd-MM-yyyy HH:mm:ss':");
|
|
||||||
String dateTimeString = scanner.nextLine();
|
|
||||||
if (dateTimeString != null && !dateTimeString.trim().isEmpty()) {
|
|
||||||
try {
|
|
||||||
LocalDateTime parsedDateTime = LocalDateTime.parse(dateTimeString, dateTimeFormatter);
|
|
||||||
System.out.println("Преобразованные дата и время: " + parsedDateTime);
|
|
||||||
} catch (Exception e) {
|
|
||||||
System.out.println("Ошибка: Некорректный формат даты и времени.");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
System.out.println("Ошибка: Дата и время не могут быть пустыми.");
|
|
||||||
}
|
|
||||||
|
|
||||||
scanner.close();
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user