Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将格式化日期转换为日期对象Java_Java_Date_Jsf_Primefaces_Calendar - Fatal编程技术网

如何将格式化日期转换为日期对象Java

如何将格式化日期转换为日期对象Java,java,date,jsf,primefaces,calendar,Java,Date,Jsf,Primefaces,Calendar,我正在开发一个JSF和primefaces应用程序。在我的some.xhtml文件中,我在其中放置了p:calendar标记,并希望将其默认值设置为当前日期(格式如:01-09-2014)。我写了私人约会startDateBean作为支持bean。当我不写下面的代码,只分配 private Date startDateBean=Calendar.getInstance()它给了我默认值(MON Sep 1 00:00:00 EST 2014),但不是我真正想要的正确格式(01-09-2014)。

我正在开发一个JSF和primefaces应用程序。在我的
some.xhtml
文件中,我在其中放置了
p:calendar
标记,并希望将其默认值设置为当前日期(格式如:
01-09-2014
)。我写了
私人约会startDateBean作为支持bean。当我不写下面的代码,只分配
private Date startDateBean=Calendar.getInstance()
它给了我默认值(
MON Sep 1 00:00:00 EST 2014
),但不是我真正想要的正确格式(
01-09-2014
)。因此,我的问题是如何以自定义格式设置日期(
01-09-2014
)并将其分配给
date
object
private date startDateBean=this.defaultDate()(请参见下文:)以获取客户端中的默认值
使用此(
01-09-2014
)格式

我正在使用JDK1.7

private Date startDateBean = this.defaultDate();
private Date defaultDate() {
    Date defaultDate = null;
    try {
        DateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        defaultDate = sdf.parse(sdf.format(Calendar.getInstance().getTime()));
    } catch (Exception e) {
         e.printStackTrace();
    }
    return defaultDate;
}

您正在使用
DateFormatter
正确解析日期(有点像,请参见下文),但没有再次格式化以显示:-

 sdf.format(defaultDate);
也就是说,当您输出它时:-

 System.out.println(sdf.format(defaultDate));
Date
对象仅保存实际日期,而不包含有关如何格式化的信息,也不包含要显示的
Date
中包含的哪些信息(秒、分钟、小时、星期几、月日、月、年)。因此,可以使用
DateFormatter
仅选择您希望显示的部分,并按照您希望显示的顺序进行显示

另外

当您最初获得日期时:-

defaultDate = sdf.parse(sdf.format(Calendar.getInstance().getTime()));
您将获得一个
日期
对象(使用
Calendar.getInstance().getTime()
),使用
DateFormatter
(使用
sdf.format()
)将其转换为
字符串
(使用
sdf.parse()
)当你可以做的时候:-

Date defaultDate = Calendar.getInstance().getTime();
你可以用

DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
String displayDate = dateFormat.format(new Date());

这将为您提供格式为
dd-MM-yyyy
的格式化日期作为字符串

好的演示。现在怎么办???你想从这里得到什么?你有任何错误或错误吗?@amitbhardwaj:-请检查代码。虽然我同意这很难找到,但问题和问题在代码中,并在代码中进行了解释,但这不起作用。没有重载的
parse()
接受
Date
对象