[英]JTextField time in HH:mm:ss
我有一個特定任務的估計時間(以分鍾為單位),只需幾分鍾。 如何將其放入HH:mm:ss
格式的JFormattedTextField中?
對於小於1440的float,可以使用Calendar
和DateFormat
。
float minutes = 100.5f; // 1:40:30
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.add(Calendar.MINUTE, (int) minutes);
c.add(Calendar.SECOND, (int) ((minutes % (int) minutes) * 60));
final Date date = c.getTime();
Format timeFormat = new SimpleDateFormat("HH:mm:ss");
JFormattedTextField input = new JFormattedTextField(timeFormat);
input.setValue(date);
但是請注意,如果您的浮動時間大於或等於1440(24小時),則Calendar方法將只向前一天,您將無法獲得預期的結果。
JFormattedTextField
接受Format
對象-因此你可以傳遞一個DateFormat
,你得到通過調用DateFormat#getTimeInstance()
您也可以使用SimpleDateFormat
HH:mm:ss
SimpleDateFormat
HH:mm:ss
作為格式字符串。
另請參閱: http : //download.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html#format
如果不限於使用JFormattedTextField
,您還可以考慮使用TimeUnit
類(自Java 1.5開始提供)進行自己的格式設置,如此答案所示: 如何在Java中將毫秒轉換為“ X分鍾,x秒”?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.