1

是否可以从 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” .

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

4

5 回答 5

4

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

有可用于 Java Swing 的好的免费日期和时间选择器吗?

于 2012-06-22T12:39:27.940 回答
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 对象,而不是仅修剪为日期信息。

于 2013-01-15T16:05:46.070 回答
1

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

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

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

于 2013-03-26T15:01:09.213 回答
0

很简单。只需将其粘贴到您的类定义部分。

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

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

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

ETC...

不需要放任何其他东西。

于 2014-09-09T07:23:59.910 回答
0
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);
于 2016-11-06T09:19:59.453 回答