문제

i have a Jspinner which shows current date("yyyy//mm//dd" in this format) and i want to get only current date not time,when i use System.out.println(Spinner.getvalue()).It also shows time like this(Mon Sep 09 02:47:53 IST 2013).i just want current date 2013/09/08

도움이 되었습니까?

해결책

From JSpinner javadoc:

public Object getValue()

Returns the current value of the model, typically this value is displayed by the editor. If the user has changed the value displayed by the editor it is possible for the model's value to differ from that of the editor, refer to the class level javadoc for examples of how to deal with this.

This method simply delegates to the model. It is equivalent to:

getModel().getValue()

This means when you call getValue() method you'll get a java.util.Date object (since you're using SpinnerDateModel I guess). When you use System.out.println(Spinner.getvalue()) the output shows the default toString() implementation from java.util.Date class which is long and includes the time.

If you want to show the date in this format yyyy/mm/dd try this:

System.out.println(new SimpleDateFormat("yyyy/MM/dd").format(spinner.getValue()));

Note: don't get confused about java.util.Date object and its String representation.

다른 팁

It's seems that you need to use some date converting tool like SimpleDateFormat.

SimpleDateFormat formater = new SimpleDateFormat("yyyy/MM/dd");
String spinnerValue = formater.format(Spinner.getvalue());
System.out.println(spinnerValue);

All SimpleDateFormat info and date patterns can be found here: http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top