如何从Jspinner获取除时间之外的日期值

时间:2013-09-09 18:46:47

标签: java jspinner

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

2 个答案:

答案 0 :(得分: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表示感到困惑。

答案 1 :(得分: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