Я хочу преобразовать предварительный Java8, как показано ниже.
DateFormat formatter = new SimpleDateFormat(timestampPattern, locale);
Date dt = formatter.parse(timestamp);
Date currentDateTime = getCurrentTime();
В код Java 8 для поддержки более 3 цифр в миллисекундах.Я нашел способы сделать это, используя следующий простой код:
String parsedate="2016-03-16 01:14:21.6739";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSS");
LocalDateTime newdate = LocalDateTime.parse(parsedate, dateTimeFormatter);
Проблема с приведенным выше кодом заключается в том, что вам нужно знать определенный класс перед его синтаксическим анализом, например, если он содержит только дату, вы должны использовать LocalDate, и еслитолько время LocalTime и, если дата + время + зона, вы должны использовать ZonedDateTime.
Моя проблема в том, что я не знаю timestampPattern или timestamp (приведено во фрагменте кода до Java8) перед рукой (так как это ввод пользователя) поэтому не могу выбрать подкласс в моем коде.Есть ли лучший способ для этого?