Недавно у меня возникла проблема с отметкой времени и типом ввода HTML Дата:
Это мой HTML/JSP:
<div class="form-group">
<label>Your day of birth</label>
<input class="form-control form-control-lg" type="date" name="txtBirthdate" required="">
</div>
Это мой Java-сервлет:
String birth = request.getParameter(Constants.BIRTHDATE_TXT);
System.out.println(birth);
Timestamp bDate = new Timestamp(((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(birth)).getTime()));
System.out.println(bDate);
Timestamp joinDate = new Timestamp(Calendar.getInstance().getTime().getTime());
Я не могу разобрать рождение строки в метку времени, есть ли способы ее преобразовать? И также я прав, когда вы очищаете строку yyyy-MM-dd с помощью SimpleDateFormat, она устанавливает часть HH:mm:ss со значением по умолчанию 00:00:0000?
спасибо за помощь
Timestamp
,SimpleDateFormat
илиCalendar
. Все эти классы плохо спроектированы и давно устарели,SimpleDateFormat
в частности, печально известные проблемы. Вместо этого используйте, например,LocalDateTime
иDateTimeFormatter
, оба из java.time, современного API даты и времени Java. а>. - person Ole V.V.   schedule 28.12.2020Timestamp
? - person Ole V.V.   schedule 28.12.2020LocalDate
,LocalDate.parse("2020-12-28")
работает без форматтера. И, как я уже сказал, вы, скорее всего, не хотите и не нуждаетесь вTimestamp
. Что именно вам нужно вместо этого, я не знаю, так как это зависит от обстоятельств, о которых вы нам еще не сказали. - person Ole V.V.   schedule 28.12.2020