是否可以从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”
我需要获得时间价值。有没有简单的方法来做到这一点?如果它太难了,我可以换成你建议的不同小部件。
答案 0 :(得分:4)
JXDatePicker仅用于提取日期。它不会随时返回。这就解释了为什么你要00:00:00。你必须找到另一个。也许这就是你要找的那个:
Is there any good and free Date AND Time Picker available for Java Swing?
答案 1 :(得分: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对象,而不是仅修剪为日期信息。
答案 2 :(得分:1)
答案 3 :(得分:0)
这么简单。只需将其粘贴到您的类定义部分即可。
private JXDatePicker Today= new JXDatePicker(new Date());
这显示系统日期如:“09.09.2014”
如果您的区域设置不同,请尝试格式化日期,如:
datePicker.setFormats("dd/MM/yyyy");
等...
无需添加任何其他内容。
答案 4 :(得分: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);