У меня есть объект, который выглядит так:
{
"date": 12,
"day": 3,
"hours": 12,
"minutes": 32,
"month": 8,
"seconds": 32,
"time": 1536755552909,
"timezoneOffset": 0,
"year": 118
}
Ранее я использовал util.Date
для генерации даты, но теперь я получаю ее в формате выше с сервера Node.js. Как я могу привести его к типу Date
?
Когда я пытаюсь сделать
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
JsonParser jsonParser = new JsonParser();
JsonElement jsonElement = jsonParser.parse(response);
Gson gson = new Gson();
Date date = gson.fromJson(jsonElement,Date.class);
lastLoadedDate = date;
elapsedTime = 0;
}
}
Это просто сбой, потому что это не строка, сервер Node отправляет JSON. Если я сделаю new Response.Listener<Date>()
, потому что это JSON, а не Date. При приведении JSON к дате, как это Date now = (Date) myJsonResponse
, Android Studio выдает ошибку:
Неопровержимые типы: невозможно привести JSONObject к дате
Edit. Я не могу использовать util.Date, потому что мне нужно время, чтобы прийти с сервера, чтобы он был универсальным для всех.