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