如何在Android中获得当前时间?

Mak*_*oid 23 android

时间类不再可以使用.我想问你,如何在凌晨3-4点检测到?我需要在我的应用程序中设置示例夜间模式.

你能举个例子怎么做吗?

Pha*_*inh 42

而不是使用Time(因为在级别22中不推荐使用Time类),您可以使用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)
Run Code Online (Sandbox Code Playgroud)

  • `rightNow.setTimeZone(TimeZone.getTimeZone("UTC"));` 如果您需要获取特定时区的时间 (3认同)

Jor*_*sys 10

我们可以使用Calendar该类来获得类似“HH:mm:ss”的格式

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);
Run Code Online (Sandbox Code Playgroud)

使用Date该类并应用格式的其他选项"HH:mm:ss"

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


Pat*_*k R 6

您可以使用以下方法:

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);
Run Code Online (Sandbox Code Playgroud)