Java时间:我不想看到秒

时间:2013-02-09 10:08:59

标签: java time

我有一个名为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>

那我该怎么办?

5 个答案:

答案 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);