0

我有一个 Jspinner,它显示当前日期(“yyyy//mm//dd”以这种格式),当我使用 System.out.println(Spinner.getvalue()) 时,我只想获取当前日期而不是时间。也显示这样的时间(Mon Sep 09 02:47:53 IST 2013)。我只想要当前日期 2013/09/08

4

2 回答 2

2

来自JSpinner javadoc

public Object getValue()

返回模型的当前值,通常这个值由编辑器显示。如果用户更改了编辑器显示的值,模型的值可能与编辑器的值不同,有关如何处理此问题的示例,请参阅类级别的 javadoc。

此方法只是委托给模型。它相当于:

getModel().getValue()

这意味着当您调用getValue()方法时,您将获得一个java.util.Date对象(因为SpinnerDateModel我猜您正在使用)。当您使用System.out.println(Spinner.getvalue())输出时,会显示类的默认toString()实现,java.util.Date该实现很长并且包含时间。

如果您想以这种格式显示日期,请yyyy/mm/dd尝试以下操作:

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

注意:不要对java.util.Date对象及其String表示感到困惑。

于 2013-09-09T19:27:38.673 回答
0

看来您需要使用一些日期转换工具,例如 SimpleDateFormat。

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

所有 SimpleDateFormat 信息和日期模式都可以在这里找到:http: //docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

于 2013-09-09T19:16:14.943 回答