我有一个名为Lezione
的类,其类型time
的属性Time
。这个属性填充了我的数据库(mysql)中表Lezione的属性时间的值。此外,数据库中的属性时间是TIME
类型。
现在:我对db进行查询:
select * from lezione as l
然后我创建了一个Lezione类型的对象,并设置了所有属性。我这样做的时间:
l.settime(rs2.getTime(3));
这就是作品。
当我尝试使用l.gettime()打印值时,我得到值(f.e。)13:00:00
我想要的是13:00
我尝试使用表达式
l.gettime().getHours()+":"+l.gettime().getMinutes()
(使用折旧的方法),但会打印13:0
(我想如果我想要打印09:02
,它会打印9:2
)< / p>
那我该怎么办?
答案 0 :(得分:5)
使用简单格式化程序。
DateFormat formatter = new SimpleDateFormat("H:mm");
formatter.format( time ) ); // 13:00
答案 1 :(得分:2)
我也会选择DateFormat
。
但是你可以用
添加前导零String.format("%02d", yournumber);
所以在你的情况下,它想:
l.gettime().getHours()+":"+String.format("%02d", l.gettime().getMinutes());
答案 2 :(得分:1)
要格式化日期/时间,您应使用(简单)DateFormat,例如:
DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
dateFormat.format(new Date());
以秒为单位以24小时格式(HH)打印当前时间。要不打印秒,只需将格式更改为“HH:mm”。
答案 3 :(得分:1)
如果您只对从getTime
打印字符串感兴趣,那么您可以这样做:
String str = rs2.getTime(3);
str = str.substring(0, str.length() - 3);
System.out.println(str);
虽然,这可能有点难看。
答案 4 :(得分:1)
正如您在答案中所看到的,有很多方法可以做到这一点。这是显示小时和分钟的另一种方式(以及来自Calendar
的其他详细信息):
GregorianCalendar date = new GregorianCalendar();
int minutes = date.get(Calendar.MINUTE);
int hours = date.get(Calendar.HOUR_OF_DAY); //HOUR_OF_DAY for the 24-hour clock
System.out.println("The time is: "+ hours+ ":" +minutes);