Android 安卓当前时间

Android 安卓当前时间,android,calendar,Android,Calendar,我想在应用程序中显示设备的当前时间。下面是获取时间的代码,但问题是如果当前时间是12:15,但我的变量cTime的时间正好相反,即00:15。下面是我获得时间的代码,请帮助我 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); Calendar c = Calendar.getInstance(); int currentHour = c.get(Calendar.HOUR); int currentMin = c.get(Calendar

我想在应用程序中显示设备的当前时间。下面是获取时间的代码,但问题是如果当前时间是12:15,但我的变量cTime的时间正好相反,即00:15。下面是我获得时间的代码,请帮助我

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
Calendar c = Calendar.getInstance();
int currentHour = c.get(Calendar.HOUR);
int currentMin = c.get(Calendar.MINUTE);
String currentTime = currentHour+":"+currentMin;
Date cTime = sdf.parse(currentTime);

您应该使用而不是以0-24格式获取小时数。

请在当前时间尝试此代码。

Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("h:mm aa");
String datetime = sdf.format(now);

使用此简单方法获取设备当前时间(以毫秒为单位)

System.currentTimeMillis();
始终,始终阅读您正在使用的代码

您正在使用
H
模式格式化小时,该模式描述了24小时模式:

H |小时数|(0-23)|数字| 0

您需要使用小的
h
,它表示“上午/下午(1-12)的小时数”:

这就是你需要开始的一切。无需为此创建
int
s和
Calendar
s。您还可以将
a
作为周期指示器,正如Arjun在下面所说的


这也是基础,但是考虑到代码略有不同,并且你正面临困难(通过查看你的代码),我不认为它是重复的。

Imran尝试我的更新答案……你得到了你想要的答案:SIR格式的可能副本不是我的问题,实际上,我的问题是获取我手机的当前小时和当前分钟。当前分钟可以,但问题以小时为单位。如果手机当前时间为上午11:00,但上述代码返回23:00表示晚上11:00。你能帮我吗?@Imran我严重怀疑,当上面的代码返回23:00时,系统是否向用户显示上午11:00。您的电话时间可能配置不正确。。。它可以是小时本身,也可以是选定的时区。请检查手机中的时间和日期设置。
SimpleDateFormat format = new SimpleDateFormat("hh:mm");
Date date = new Date();
String dateReadable = format.format(date);
// Use your String elsewhere.