java - HH 中的 JTextField 时间 :mm:ss

标签 java swing time formatting jformattedtextfield

我有一个 float 的特定任务所需的估计时间(以分钟为单位)。如何将其以 HH:mm:ss 格式放入 JFormattedTextField 中?

最佳答案

对于 float < 1440,您可以使用 CalendarDateFormat 来解决。

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

但请注意,如果您的 float 时间大于或等于 1440(24 小时),日历方法将仅前进一天,您将无法获得预期结果。

关于java - HH 中的 JTextField 时间 :mm:ss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12667472/

相关文章:

java - 一切编译正常,但有异常错误

java - 如何根据显示器尺寸调整桌面应用程序的大小

java - 通过按钮作为显示面板打开另一个类(class)

java - 为什么Javascript没有线程?

java - 如何使用xml或java设置FragmentTabHost动态高度

java - 尝试将开发应用程序编译为生产环境时收到来自 Eclipse 的警告?

java - 获取亚马逊所有地区的实例

Python 日志记录 : use milliseconds in time format

go - 将小时、分钟、秒添加到当前时间

java - 在 Java 中存储简单的小时/分钟信息 - 最佳实践问题