Возможно, на данный момент это просто мое душевное состояние / разочарование, но мои поиски в Google и результаты stackoverflow не помогают мне.
Я хочу проверить, что минутная часть ввода времениравно либо 00, либо 30.
Я все еще изучаю Java и программирование в целом, поэтому иногда я не знаю правильной терминологии, чтобы начать поиск, поэтому я извиняюсь, если это было задано и получено.
Любые ответы должны быть где-то между новичком и промежуточным - если я не понимаю, я попытаюсь выяснить это самостоятельно, прежде чем просто ответить.
Это фрагмент моей последней попытки:
else if(timePart.getMinute() != 0 ||
timePart.getMinute() != 30 ||
appointment.getSqlStartDateTime().toLocalDateTime().atZone(ZoneId.of("UTC")).withZoneSameInstant(ZoneId.systemDefault()).getMinute() != 0 ||
appointment.getSqlStartDateTime().toLocalDateTime().atZone(ZoneId.of("UTC")).withZoneSameInstant(ZoneId.systemDefault()).getMinute() != 30)
{
System.out.println(timePart.getMinute());
System.out.println(appointment.getSqlStartDateTime().toLocalDateTime().atZone(ZoneId.of("UTC")).withZoneSameInstant(ZoneId.systemDefault()).getMinute());
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Correct the minutes");
alert.setHeaderText(null);
alert.setContentText("You are only allowed to enter the start and end time minutes on the hour or half hour (ie :00 or :30).");
alert.showAndWait();
}
Я включил System.out, чтобы просто проверить, какие были разные результаты - оба будут печатать 0 для 9:00 AM и 30 для 9:30 AM.
Не уверен, что я делаю неправильно, но мое предупреждение всегда появляется, даже если введено правильное время.