Java конвертирует объект временной метки в формат даты

В моем приложении для Android я показываю List<Object>, он содержит значения Нить, инт и Отметка времени, и я не знаю, какой элемент является отметкой времени.
Теперь это выглядит так: Отметка времени (секунды = 1556208432, наносекунды = 754000000)

Что я хочу сделать, так это разобрать это в читаемый формат даты.
Вот код, который я пробовал:

TextView t2 = view.findViewById(android.R.id.text2);
String tS2 = String.valueOf(values.get(position));

if (tS2.contains("Timestamp(seconds = ")) {
    long ts = Timestamp.parse(tS2);
    Date date = new Date(ts);
    Log.d(TAG, "date: "+date);
} else {
    t2.setText(tS2);
}

И проанализируйте его с помощью SimpleDateFormat, например:

String myFormat = "yyyy MMM dd";
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.ENGLISH);
t2.setText(sdf.format(something));

Я получаю эту ошибку:

java.lang.IllegalArgumentException at java.util.Date.parse

РЕДАКТИРОВАТЬ1:

Он умирает с ошибкой ниже, когда доходит до части даты.

Object time = values.get(position);
com.google.firebase.Timestamp ts = (com.google.firebase.Timestamp) time;
String str = ts.toString();
Date date = new Date(Long.parseLong(str));

java.lang.NumberFormatException: For input string: "Timestamp(seconds=1556208432, nanoseconds=754000000)"

Какая строка выдает ошибку?

matanper 25.04.2019 18:37

@matanper Обновил мой вопрос

Máté Antal 25.04.2019 18:38
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
247
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы конвертируете timestamp в string, который не будет преобразовывать хранящееся в нем значение в строку, а будет описывать сам объект.

Чтобы получить дату временной метки Firebase, просто вызовите toDate() на ней.

Для получения дополнительной информации Проверь это

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