-1

我有一个名为Lezionetypetime的类Time。这个属性填充了我的数据库(mysql)中表 Lezione 的属性 time 的值。此外,数据库中的属性时间是类型TIME

现在:我对数据库进行查询:

 select * from lezione as l

然后我创建了一个 Lezione 类型的对象并设置了所有属性。在我这样做的时候:

l.settime(rs2.getTime(3));

这有效。

当我尝试使用 l.gettime() 打印值时,我得到了值 (fe)13:00:00

我想要的是13:00

我试过表达

l.gettime().getHours()+":"+l.gettime().getMinutes()

(使用折旧的方法)但它会打印13:0(我猜如果我想打印09:02它会打印9:2

那么我能做什么呢?

4

5 回答 5

5

使用简单日期格式化程序。

DateFormat formatter = new SimpleDateFormat("H:mm");
formatter.format( time ) ); // 13:00
于 2013-02-09T10:16:03.723 回答
2

我也会去DateFormat

但是您可以添加前导零

String.format("%02d", yournumber);

因此,在您的情况下,它会:

l.gettime().getHours()+":"+String.format("%02d", l.gettime().getMinutes());
于 2013-02-09T10:14:35.910 回答
1

要格式化日期/时间,您应该使用(简单)日期格式,例如:

DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
dateFormat.format(new Date());

这以 24 小时格式 (HH) 以秒打印当前时间。要不打印秒,只需将格式更改为“HH:mm”。

于 2013-02-09T10:10:47.617 回答
1

如果您只对从 打印字符串感兴趣getTime,那么您可以这样做:

String str = rs2.getTime(3);
str = str.substring(0, str.length() - 3);
System.out.println(str);

虽然,这可能有点丑陋。

于 2013-02-09T10:16:57.517 回答
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);
于 2013-02-09T10:18:07.953 回答