从 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 获取时间的主要内容,如果未能解决你的问题,请参考以下文章
JXDatePicker 使用 SimpleDateFormat 将 dd.MM.yy 格式化为当前世纪的 dd.MM.yyyy