我需要在申请表中显示已用时间 我目前使用此代码执行此操作:
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天!
我怎样才能显示月和日?
由于
答案 0 :(得分:3)
您不应该使用Date类,因为日期是一个时刻,但您将其用作持续时间。请仔细阅读joda time documentation。然后,您可以使用Period
和PeriodFormatter
来完成任务。如果你不想使用这个库,也可以写类似的东西。