Я сделал код ниже, чтобы изменить время с UTC на другой часовой пояс, но код показывает только время UTC. Также после форматирования в исходный формат времени он показывает системный часовой пояс.
private String setTimezone(String time){
sourceformatter = new SimpleDateFormat("hh:mm a, E dd MMM yyyy");
dateFormatter = new SimpleDateFormat("hh:mm a");
sourceformatter.setTimeZone(TimeZone.getTimeZone("UTC"));
Log.e("reicievedformat",time);
Date value = null;
try {
value = sourceformatter.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
Log.d("afterfirstformat",dateFormatter.format(value));
dateFormatter.setTimeZone(TimeZone.getTimeZone("IST"));
time =dateFormatter.format(value);
Log.d("Finaltime",time);
return time;
}
Вывод : - логарифмические значения
E / reictainedformat: 12:36 PM, понедельник, 8 октября 2018
D /afterfirstformat: 18:21
D / Конечное время: 12:36 PM
Как видите, я получаю 12: 36:00, понедельник, 8 октября 2018 года («UTC»), и я хочу преобразовать в IST, но окончательное время, 12:36 PM
, похоже, не было преобразовано.