大家好,我正在使用下面的代码来获取android手机时间,但如果分钟在1到9分钟之间,它会给我没有零的分钟。
例如:现在我在我的设备上有12:09的时间,但它给我的时间是12:9
Calendar c = Calendar.getInstance();
int hrs = c.get(Calendar.HOUR);
int mnts = c.get(Calendar.MINUTE);
String curTime = "" + hrs + ":" + mnts;
return curTime;在上面的代码之后,我也尝试了下面的代码,它给出了和上面一样的东西,没有零的分钟数在1到9之间。。
final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
Date date = cal.getTime();
int mHour = date.getHours();
int mMinute = date.getMinutes();发布于 2012-07-22 19:54:19
正如埃戈尔所说,int只是一个整数。整数没有前导零。当您将它们转换为String对象时,它们只能与前导零一起显示。这样做的一种方法是:
String curTime = String.format("%02d:%02d", hrs, mnts);格式字符串%02d使用前导零(这是%02d中的0 )格式化整数,始终占用2位数的宽度(这是%02d中的2 )。
这将产生String
12:09
发布于 2012-07-22 19:59:37
这一切都是关于整数的。但是处理日期和日历以显示该信息时,应该这样使用:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yourpattern"); //like "HH:mm" or just "mm", whatever you want
String stringRepresentation = sdf.format(date);如果模式"mm“在0到9之间,它将有一个前导零。如果你使用"mmmm”,你将得到0009,这看起来没有多大意义,但这完全取决于你想要什么。:)
如果你使用pattern HH:mm,你会得到12:09 ( date实例的当前时间)。
发布于 2017-03-20 23:01:57
您可以使用SimpleDateFormat类设置日期格式
如果您从Calendar实例获取日期和时间:-
final Calendar c = Calendar.getInstance();
SimpleDateFormat timeFormat = new SimpleDateFormat("hh:mm");
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
timeEdittext.setText(timeFormat.format(c.getTime()));
dateEdittext.setText(dateFormat.format(c.getTime()));如果将日、月、年、小时、分钟作为整数(通常发生在日期选择器和时间选择器对话框中)
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, dayOfMonth);
String date = new SimpleDateFormat("dd-MM-yyyy").format(calendar.getTime());https://stackoverflow.com/questions/11599947
复制相似问题