从 JXDatePicker 获取时间

Posted

技术标签:

【中文标题】从 JXDatePicker 获取时间【英文标题】:Getting time from JXDatePicker 【发布时间】:2012-06-24 16:10:09 【问题描述】:

是否可以从 JXDatePicker 组件中不仅获取日期,还获取日期和时间?

我已将小部件配置为显示这种格式:

SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
JXDatePicker startTime = new JXDatePicker(System.currentTimeMillis); // This gets today's Date, but time appears as 00:00:00
startTime.setFormats(dateFormatter);

每当我在日历中选择一天时,时间都会设置为 00:00:00,即使它手动设置了任何其他值。我不在乎,但是当我得到 JXDatePicker 的值时,即使它已被编辑,我也会收到 00:00:00。例如,如果将 2012-06-22 07:23:10 写入我的 JXDatePicker,然后调用 dateFormatter.format(startTime.getDate()),我将收到字符串“2012-06-22 00:00:00” .

我需要获取时间值。有什么简单的方法可以做到这一点?如果太难,我可以换成你建议的其他小部件。

【问题讨论】:

***.com/questions/16111943/java-swing-jxdatepicker 【参考方案1】:

JXDatePicker 仅用于提取日期。任何时候都不会回来。这就解释了为什么你会得到 00:00:00。你将不得不找到另一个。也许这就是你要找的那个:

Is there any good and free Date AND Time Picker available for Java Swing?

【讨论】:

【参考方案2】:

JXDatePicker 可能应该仅用于概念上的日期,但您仍然可以从其编辑器中收集完整的 Java Date 对象。只需使用这样的东西:

JXDatePicker datePicker = new JXDatePicker();
datePicker.setFormats("dd-MM-yyyy HH:mm:ss");

/*
  set in any way value inside datePicker
*/

JFormattedTextField editor = datePicker.getEditor();
Date dateInDatePicker = (Date) editor.getValue();

以这种方式使用它您可以收集整个 Java Date 对象,而不是修剪为仅日期信息。

【讨论】:

【参考方案3】:

将此发布给可能访问此问题的其他人,而不是 OP,因为我相信您现在已经找到了解决方案。

这是一个非常有用的解决方案。更新和自定义非常容易。

http://www.java.net/node/700914

【讨论】:

【参考方案4】:

如此简单。只需将其粘贴到您的类定义部分即可。

private JXDatePicker Today= new JXDatePicker(new Date()); 

这显示系统日期,如:“09.09.2014” 如果您的区域设置不同,请尝试格式化日期,例如:

datePicker.setFormats("dd/MM/yyyy");

等等……

不需要放任何其他东西。

【讨论】:

【参考方案5】:
JFormattedTextField editor = jXDatePicker1.getEditor();

Date dateInDatePicker = (Date) editor.getValue();

DateFormat sysDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

String date_to_store = sysDate.format(dateInDatePicker);

【讨论】:

以上是关于从 JXDatePicker 获取时间的主要内容,如果未能解决你的问题,请参考以下文章

如何为 JTable 列添加 JXDatepicker

Java Swing JXDatePicker

JXDatePicker 使用 SimpleDateFormat 将 dd.MM.yy 格式化为当前世纪的 dd.MM.yyyy

从oracle数据库中获取日期而不从列中获取时间

Bash:使用awk从文件中获取的日期时间字符串获取纪元时间

如何从 BigQuery 获取基于时间的结果?