Как получить текущий час в Android?

Класс времени больше нельзя использовать. Я хочу спросить вас, как обнаружить в приложении 3-4am? Мне нужно, чтобы настроить, например, ночной режим в моем приложении.

Можете ли вы привести мне пример, как это сделать?

Ответы

Ответ 1

Вместо использования Time (поскольку класс Time был устаревшим в уровне API 22), вы можете использовать Calendar для получения текущего часа

Calendar rightNow = Calendar.getInstance();
int currentHourIn24Format = rightNow.get(Calendar.HOUR_OF_DAY); // return the hour in 24 hrs format (ranging from 0-23)

int currentHourIn12Format = rightNow.get(Calendar.HOUR); // return the hour in 12 hrs format (ranging from 0-11)

Ответ 2

Вы можете использовать следующие методы:

SimpleDateFormat format = new SimpleDateFormat("HH", Locale.US);
String hour = format.format(new Date());

Calendar calendar = Calendar.getInstance();
int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY);

Ответ 3

Мы можем использовать класс Calendar, чтобы получить формат вроде "ЧЧ: мм: сс"

Calendar calendar = Calendar.getInstance();
int hour24hrs = calendar.get(Calendar.HOUR_OF_DAY); 
int hour12hrs = calendar.get(Calendar.HOUR); 
int minutes = calendar.get(Calendar.MINUTE); 
int seconds = calendar.get(Calendar.SECOND); 
System.out.println("Current hour 24hrs format:  " + hour24hrs + ":" + minutes +":"+ seconds);
System.out.println("Current hour 12hrs format:  " + hour12hrs + ":" + minutes +":"+ seconds);

Другой вариант с использованием класса Date и применением формата "HH:mm:ss":

DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
Date date = new Date();
String dateformatted = dateFormat.format(date);
System.out.println(dateformatted);