SimpleDateFormat неправильно разбирается - PullRequest
0 голосов
/ 11 марта 2020

Я получаю данные от следующего API: https://www.thecocktaildb.com/api/json/v1/1/search.php?f=a. По какой-то причине у меня возникают проблемы с правильным анализом dateModified. Мой класс домена Cocktail имеет следующие атрибуты:

public class Cocktail implements Parcelable {

    /* Cocktail attributes. */
    private String name;
    private String category;
    private String imageUrl;
    private String alcoholic;
    private String id;
    private String instructions;
    private Date lastModified;
    private ArrayList ingredients;

При извлечении данных из API и сохранении их в объектах Cocktail, dateModified по-прежнему является объектом String, и я хочу поместить его в объект Date который имеет тот же формат даты, что и в JSON, то есть yyyy-MM-dd HH:mm:ss.

Это мой текущий подход:

String date = drink.getString(KEY_LAST_MODIFIED);

DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date lastMofidied = format.parse(date);

У меня есть RecyclerView, который отображает все коктейли из этого API с OnItemClickListeners для каждого элемента списка, который открывает новое действие, в котором отображаются сведения о коктейле, включая dateModified. По какой-то причине дата в операции с данными не отформатирована так, как мне бы хотелось, хотя я четко заявил, что хочу, чтобы она была в формате yyyy-MM-dd HH:mm:ss:

enter image description here

Я не могу понять, что я делаю здесь неправильно. Любая помощь очень ценится!

1 Ответ

0 голосов
/ 11 марта 2020

Вы вызываете метод синтаксического анализа, который анализирует класс String to Date. Что вам нужно сделать, это вызвать метод format объекта SimpleDateFormat String lastModified = format.format(date), чтобы получить отформатированную строку.

...