Преобразовать на сегодняшний день

Я пытаюсь создать несколько экземпляров Evenement и установить для них дату:

   for (int i=2004; i<2009; i++){
           evenementen.add(new Evenement("Rock Werchter", "Rock", "Werchter", 200000,
                           (Date)formatter.parse(i+"/07/03")));

Но я не могу заставить его работать,

Есть идеи?

Что не так? Что такое класс Evenement? Как был инициализирован форматтер? Покажите нам больше кода!

Romain Linsolas 14.11.2008 16:51
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
279
2

Ответы 2

Вы можете использовать Календарь для создания дат.

for (int i=2004; i<2009; i++) {
    Calendar cal = Calendar.getInstance();
    cal.clear();
    // Calendar.JULY may be different depending on the JDK language
    cal.set(i, Calendar.JULY, 3); // Alternatively, cal.set(i, 6, 3); 
    evenementen.add(new Evenement("Rock Werchter", "Rock", "Werchter", 200000,
            cal.getTime()));
}

Обратите внимание, что месяцы отсчитываются от нуля, поэтому июль - 6.

Остерегайтесь локали, используемой для средства форматирования даты (по умолчанию может быть Locale.ENGLISH, если ваша ОС настроена таким образом, что означает, что год находится в конце, а не в начале строки)

Убедитесь, что у вас есть сборка форматировщика как:

formatter = new SimpleDateFormat("yyyy/MM/DD");

Я почти уверен, что форматирование даты по умолчанию - это то, что у вас установлено в вашей операционной системе.

Paul Tomblin 14.11.2008 17:24

Другие вопросы по теме