显示JAVA中每月支持的已用时间

我需要在申请表中显示已用时间。
我目前使用此代码执行此操作:

AppTimer = new Timer(); AppTimer.scheduleAtFixedRate(new java.util.TimerTask() { SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); public void run() { sdf.setTimeZone(java.util.TimeZone.getTimeZone("GMT+0")); lblAppRunTime.setText(""+sdf.format(new Date(AppTimeCounter*1000))); AppTimeCounter++; } },1000, 1000); 

此代码正确显示小时,分钟和秒,但如何显示DAYS&MONTHS? new SimpleDateFormat("MD HH:mm:ss")无法执行此操作,例如,当经过5秒时,它也会显示1个月和1天!

我怎样才能显示月和日?

谢谢

您不应该使用Date类,因为日期是一个时刻,但您将其用作持续时间。 请仔细阅读关于它的joda时间文档 。 然后你可以使用PeriodPeriodFormatter来完成任务。 如果您不想使用库,也可以写类似的东西。

Interesting Posts