Вывод полностью совпадает, а валидатор не пропускает по трем пунктам:
1) Если в метод printDate передана дата в формате "дата время", он должен вывести: День, День недели, День месяца, День года, Неделя месяца, Неделя года, Месяц, Год, AM или PM, Часы, Часы дня, Минуты, Секунды.
2) Если в метод printDate передана дата в формате "дата", он должен вывести: День, День недели, День месяца, День года, Неделя месяца, Неделя года, Месяц, Год.
3) Если в метод printDate передана дата в формате "время", он должен вывести: AM или PM, Часы, Часы дня, Минуты, Секунды.
Проходит только последний пункт:
4) Используй статический метод parse классов LocalDate и LocalTime.
package com.javarush.task.task40.task4008;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
/*
Работа с Java 8 DateTime API
*/
public class Solution {
public static void main(String[] args) {
printDate("21.4.2014 15:56:45");
System.out.println();
printDate("21.4.2014");
System.out.println();
printDate("17:33:40");
}
public static void printDate(String date) {
//напишите тут ваш код
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.M.yyyy HH:mm:ss");
LocalDate localDate = LocalDate.parse(date, formatter);
LocalTime localTime = LocalTime.parse(date, formatter);
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.getDayOfMonth() / 7 + 1));
System.out.println("Неделя года: " + ((localDate.getDayOfYear() + 1) / 7 + 1));
System.out.println("Месяц: " + localDate.getMonthValue());
System.out.println("Год: " + localDate.getYear());
System.out.println("AM или PM: " + (localTime.getHour() < 12 ? "AM" : "PM"));
System.out.println("Часы: " + localTime.getHour() % 12);
System.out.println("Часы дня: " + localTime.getHour());
System.out.println("Минуты: " + localTime.getMinute());
System.out.println("Секунды: " + localTime.getSecond());
return;
} catch (DateTimeParseException e) {
}
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.M.yyyy");
LocalDate localDate = LocalDate.parse(date, formatter);
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.getDayOfMonth() / 7 + 1));
System.out.println("Неделя года: " + ((localDate.getDayOfYear() + 1) / 7 + 1));
System.out.println("Месяц: " + localDate.getMonthValue());
System.out.println("Год: " + localDate.getYear());
return;
} catch (DateTimeParseException e) {
}
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime localTime = LocalTime.parse(date, formatter);
System.out.println("AM или PM: " + (localTime.getHour() < 12 ? "AM" : "PM"));
System.out.println("Часы: " + localTime.getHour() % 12);
System.out.println("Часы дня: " + localTime.getHour());
System.out.println("Минуты: " + localTime.getMinute());
System.out.println("Секунды: " + localTime.getSecond());
return;
} catch (DateTimeParseException e) {
}
System.out.println("Error! Unparseable date: " + date);
return;
}
}
package com.javarush.task.task40.task4008;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
/*
Работа с Java 8 DateTime API
*/
public class Solution {
public static void main(String[] args) {
printDate("21.4.2014 15:56:45");
System.out.println();
printDate("21.4.2014");
System.out.println();
printDate("17:33:40");
}
public static void printDate(String date) {
//напишите тут ваш код
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.M.yyyy HH:mm:ss");
LocalDate localDate = LocalDate.parse(date, formatter);
LocalTime localTime = LocalTime.parse(date, formatter);
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.getDayOfMonth() / 7 + 1));
System.out.println("Неделя года: " + ((localDate.getDayOfYear() + 1) / 7 + 1));
System.out.println("Месяц: " + localDate.getMonthValue());
System.out.println("Год: " + localDate.getYear());
System.out.println("AM или PM: " + (localTime.getHour() < 12 ? "AM" : "PM"));
System.out.println("Часы: " + localTime.getHour() % 12);
System.out.println("Часы дня: " + localTime.getHour());
System.out.println("Минуты: " + localTime.getMinute());
System.out.println("Секунды: " + localTime.getSecond());
return;
} catch (DateTimeParseException e) {
}
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.M.yyyy");
LocalDate localDate = LocalDate.parse(date, formatter);
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.getDayOfMonth() / 7 + 1));
System.out.println("Неделя года: " + ((localDate.getDayOfYear() + 1) / 7 + 1));
System.out.println("Месяц: " + localDate.getMonthValue());
System.out.println("Год: " + localDate.getYear());
return;
} catch (DateTimeParseException e) {
}
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime localTime = LocalTime.parse(date, formatter);
System.out.println("AM или PM: " + (localTime.getHour() < 12 ? "AM" : "PM"));
System.out.println("Часы: " + localTime.getHour() % 12);
System.out.println("Часы дня: " + localTime.getHour());
System.out.println("Минуты: " + localTime.getMinute());
System.out.println("Секунды: " + localTime.getSecond());
return;
} catch (DateTimeParseException e) {
}
System.out.println("Error! Unparseable date: " + date);
return;
}
}