API LEVEL 26
Вам просто нужно использовать правильные методы вместо вызова конструкторов. Используйте parse для создания объектов локальной даты и местного времени, затем передайте эти два объекта методу LocalDateTime. После этого преобразуйте его в миллисекунды.
LocalDate datePart = LocalDate.parse("2020-04-28");
LocalTime timePart = LocalTime.parse("12:05:06");
LocalDateTime dt = LocalDateTime.of(datePart, timePart);
System.out.println(dt.toString());
long timeInMilliseconds = dt.atOffset(ZoneOffset.UTC).toInstant().toEpochMilli();
System.out.println(timeInMilliseconds);
Уровень API ниже 26
Используйте объект календаря:
try {
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2020-04-28");
Date startHour = new SimpleDateFormat("HH:mm").parse("12:05");
Date combinedDate = combine(date, startHour);
System.out.println(combinedDate.toString());
System.out.println("Milli Seconds: " + combinedDate.getTime());
} catch (Exception e) {
e.printStackTrace();
}
private static Date combine(Date date, Date time) {
Calendar cal = Calendar.getInstance();
cal.setTime(time);
int hour = cal.get(Calendar.HOUR_OF_DAY);
int min = cal.get(Calendar.MINUTE);
cal.setTime(date);
cal.set(Calendar.HOUR_OF_DAY, hour);
cal.set(Calendar.MINUTE, min);
return cal.getTime();
}
Happy Кодировка:)