В моем приложении для Android я показываю List<Object>
, он содержит String , int и Timestamp значения, и я не знаюкакой элемент является меткой времени.
Теперь это выглядит так: Метка времени (секунды = 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.IllegalArgumentExceptionat java.util.Date.parse
EDIT1:
Умирает с ошибкой ниже, когда попадает в часть Date.
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: для входной строки: «Метка времени (секунды = 1556208432, наносекунды = 754000000)»