How to get only Hour and Minute of JSpinner?
java, jspinner, simpledateformat, swing
Solution
Extracting the meat from @mKorbel's answer:
System.out prints the value object uing its toString method, if you want to print it formatted you need to use a Formatter, f.i. the one used by the editor in your code:
Date date = new Date();
SpinnerDateModel sm = new SpinnerDateModel(date, null, null, Calendar.MINUTE);
JSpinner spinner = new JSpinner(sm);
JSpinner.DateEditor de = new JSpinner.DateEditor(spinner, "hh:mm a");
de.getTextField().setEditable( false );
spinner.setEditor(de);
System.out.println("Spinner: "+de.getFormat().format(spinner.getValue()));
Problem
I have a JSpinner. When i use`spinner.getValue()`it gives me `Sun Mar 24 01:11:41 PDT 2013` but i want to have only `Hour and Minute in 24 hour format` ``` Date date = new Date(); SpinnerDateModel sm = new SpinnerDateModel(date, null, null, Calendar.MINUTE); JSpinner spinner = new JSpinner(sm); JSpinner.DateEditor de = new JSpinner.DateEditor(spinner, "hh:mm a"); spinner.setEditor(de); if ( spinner.getEditor() instanceof JSpinner.DefaultEditor ) { JSpinner.DefaultEditor editor = ( JSpinner.DefaultEditor ) spinner.getEditor(); editor.getTextField().setEnabled( true ); editor.getTextField().setEditable( false ); } System.out.println("Spinner: "+spinner.getValue()); ```