Помогите!
package com.javarush.task.task40.task4008;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.time.temporal.ChronoField;
/*
Работа с Java 8 DateTime API
*/
public class Solution {
public static void main(String[] args) {
printDate("9.10.2017 5:56:45");
System.out.println();
printDate("21.4.2014");
System.out.println();
printDate("17:33:40");
}
public static void printDate(String date) {
//напишите тут ваш код
try {
// DateTimeFormatter formatDate = DateTimeFormatter.ofPattern("d.M.y");
// DateTimeFormatter formatTime = DateTimeFormatter.ofPattern("H:m:s");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d.M.yyyy H:m:s");
// String[] result = date.split(" ");
LocalDate localDate = LocalDate.parse(date, formatter);
LocalTime localTime = LocalTime.parse(date, formatter);
printDate(localDate);
printTime(localTime);
} catch (DateTimeParseException e) {
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d.M.y");
LocalDate localDate = LocalDate.parse(date, formatter);
printDate(localDate);
}catch (DateTimeParseException e1) {
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("H:m:s");
LocalTime localTime = LocalTime.parse(date, formatter);
printTime(localTime);
}catch (DateTimeParseException e2) {
System.out.println("Error! Unparseable date: " + date);
}
}
}
}
private static void printTime(LocalTime localTime) {
if (localTime.getHour() > 12) {
System.out.println("AM или PM: PM");
System.out.println("Часы: " + (localTime.getHour() - 12));
}
else {
System.out.println("AM или PM: AM");
System.out.println("Часы: " + localTime.getHour());
}
System.out.println("Часы дня: " + localTime.getHour());
System.out.println("Минуты: " + localTime.getMinute());
System.out.println("Секунды: " + localTime.getSecond());
}
private static void printDate(LocalDate localDate) {
System.out.println("День: "+localDate.getDayOfMonth());
System.out.println("День недели: "+localDate.getDayOfWeek().getValue());
System.out.println("День месяца: "+localDate.getDayOfMonth());
System.out.println("День года: "+localDate.getDayOfYear());
System.out.println("Неделя месяца: "+(localDate.get(ChronoField.ALIGNED_WEEK_OF_MONTH) + 1));
System.out.println("Неделя года: "+(localDate.get(ChronoField.ALIGNED_WEEK_OF_YEAR) + 1));
System.out.println("Месяц: "+localDate.getMonthValue());
System.out.println("Год: "+localDate.getYear());
}
}
/*
День: 9
День недели: 1
День месяца: 9
День года: 282
Неделя месяца: 3
Неделя года: 42
Месяц: 10
Год: 2017
*/