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

时间:2011-10-18 12:21:54

标签: java timer simpledateformat elapsedtime

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

    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&月? new SimpleDateFormat("M D HH:mm:ss")无法执行此操作,例如,当经过5秒后,它也会显示1个月和1天!

我怎样才能显示月和日?

由于

1 个答案:

答案 0 :(得分:3)

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