Год, месяц, день, часы, минуты до даты без «волшебства»JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Год, месяц, день, часы, минуты до даты без «волшебства»

Сообщение Anonymous »

Давайте покончим с этим.
Как преобразовать LocalDateTime в java.util.Date без каких-либо «волшебных трюков», доступных в Java (которые становятся для меня все менее и менее забавными)?
Год, месяц и день верны (1 января 1900 г.), но время почему-то 0:29: 43 (вместо 00:00:00, как я и предполагал).
Ваше время, я полагаю, может отличаться, например, потому, что оно может зависеть от часового пояса.

Код: Выделить всё

import java.util.Date;
import java.time.LocalDateTime;
import java.time.Instant;
import java.time.ZoneId;

public class DateDemo {
public static void main(String[] args) {
Date date = toDate(1900, 1, 1, 0, 0); // must be January 1, 1900. 00:00:00
}

static Date toDate(int year, int month, int day, int hours, int minutes) {
// LocalDateTime appeared a convenient medium, what with its handy factory methods
LocalDateTime localDateTime = LocalDateTime.of(year, month, day, hours, minutes);
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
return Date.from(instant)
}
}
Если по какой-то причине это невозможно, вы можете изменить LocalDateTime на какой-либо другой класс из java.util.time. Дело в том, что у меня есть год, месяц, день, часы, минуты, секунды, и мне нужно создать из них экземпляр Date кратко и читаемо (желательно без использования какого-либо устаревшего API). Фабричные методы LocalDateTime оказались удобными.
Это работает, но имеет один устаревший вызов (должен быть равен нулю), генерирует в общей сложности два предупреждения и уродлив AF. Таким образом, это неоптимально.

Код: Выделить всё

new Date(localDateTime.getYear() - 1900, localDateTime.getMonth().getValue(), localDateTime.getDayOfMonth(), localDateTime.getHour(), localDateTime.getMinute(), localDateTime.getSecond())
Мне нужно использовать java.util.Date. У нас есть устаревший проект. Наши API ожидают экземпляры Date.
Я проверил их перед публикацией (некоторые из них предлагают одно и то же, нерабочее решение): 1, 2, 3, 4.< /p>
Java 8

Подробнее здесь: https://stackoverflow.com/questions/792 ... hout-magic
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Год, месяц, день, часы, минуты до даты без «волшебства»
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Год, месяц, день, часы, минуты до даты без «волшебства»
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Год, месяц, день, часы, минуты до даты без «волшебства»
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Год, месяц, день, часы, минуты до даты без «волшебства» [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Год, месяц, день, часы, минуты до даты без «волшебства» [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»