目前,我正在使用标签
打印我的swing worker计时器的值.setText(days + " Days :" + hours + " Hours :" + mins + " Minutes : " + seconds + " Seconds elapsed")
我想知道是否有可能以稍微整洁的方式格式化它?
答案 0 :(得分:2)
我有一个我正在使用的程序,它使用String.format(...)
和格式字符串:
// in the constants section
private static final String DISPLAY_FORMAT_STR = "%02d:%02d:%02d:%01d";
private void showTimeLeft() {
int oldMin = min;
hours = (int) (deltaTime / (MS_PER_SEC * SEC_PER_MIN * MIN_PER_HR));
min = (int) (deltaTime / (MS_PER_SEC * SEC_PER_MIN) % MIN_PER_HR);
sec = (int) (deltaTime / (MS_PER_SEC) % SEC_PER_MIN);
msec = (int) (deltaTime % MS_PER_SEC);
String displayString = String.format(DISPLAY_FORMAT_STR, hours, min, sec,
msec / 100);
displayField.setText(displayString);
// ... etc...
否则,如果您正在处理Date对象(我不是),您可以使用SimpleDateFormat对象来更好地格式化输出。
答案 1 :(得分:1)
String.format()
怎么样?
http://docs.oracle.com/javase/6/docs/api/java/util/Formatter.html#syntax
答案 2 :(得分:1)
其中一种方法,如何计算经过时间
long start = System.currentTimeMillis();
// some code executed
long end = System.currentTimeMillis();
long elapsed = end - start;
long seconds = elapsed / 1000;