我需要在申请表中显示经过的时间。
我目前使用此代码这样做:

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

此代码适当显示小时,分钟和秒,但是我该如何显示天数?new SimpleDateFormat("M D HH:mm:ss") 不能这样做,例如,当5秒钟过去时,它也会显示1个月零1天!

我如何也可以显示一个月和一天?

谢谢

有帮助吗?

解决方案

您不应该使用日期类,因为日期是时间的瞬间,但是您将其用作持续时间。请仔细阅读 JODA时间文档 关于它。然后您可以使用 PeriodPeriodFormatter 为您任务。或写类似的东西,如果您不想使用库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top