Java SimpleDataFormat不接受##/##
下面,我已经得到了我试图使用的代码。它总是命中目标,返回空值。月和日都是整数,并且已经对它们进行了检查,以确保它们位于现有日期的现有日期内。不管怎样,我测试的月份是“05”,当天是“02”。###/##的输入是否出于某种原因不起作用Java SimpleDataFormat不接受##/##,java,simpledateformat,Java,Simpledateformat,下面,我已经得到了我试图使用的代码。它总是命中目标,返回空值。月和日都是整数,并且已经对它们进行了检查,以确保它们位于现有日期的现有日期内。不管怎样,我测试的月份是“05”,当天是“02”。###/##的输入是否出于某种原因不起作用 public static Date getAlphabetDate() { try { String tempDate = month + "/" + day; Date alphabetDate = new Sim
public static Date getAlphabetDate()
{
try
{
String tempDate = month + "/" + day;
Date alphabetDate = new SimpleDateFormat("MMMM d").parse(tempDate);
return alphabetDate;
}
catch(Exception e)
{
return null;
}
}
编辑:我正在尝试格式化此输出,使其看起来像“May 02”。当我查看时,我看到页面的很大一部分专门用于格式化输出。为什么我的格式不是这样?您正在错误地分析SimpleData格式中的字符串 试试这个:
String tempDate = month + "/" + day;
Date alphabetDate = new SimpleDateFormat("MM/d").parse(tempDate);
您的输入与格式模式不匹配 您的输入格式为
MM/dd
,但您的模式格式为MMMM d
,您需要进行其中一项匹配
试用
String tempDate = month + " " + day;
Date alphabetDate = new SimpleDateFormat("MM d").parse(tempDate);
相反,例如…如果您的输入是
02/05
,则应使用相应的日期格式:
public static Date getAlphabetDate()
{
try
{
String tempDate = month + "/" + day;
Date alphabetDate = new SimpleDateFormat("MM/dd").parse(tempDate);
return alphabetDate;
}
catch(Exception e)
{
return null;
}
}
月+“/”+日
!=MMMM d
…啊,这让我至少有个约会。。。但是,当我查看文档时,我需要的似乎只是“M/d”。如果我希望我的输出看起来像“May 02”,我将如何修改它?@Dancalahan使用另一个满足这些要求的DateFormatter
<代码>日期没有自己的格式概念(超出默认本地命令的范围)编辑:这没有意义。。。SimpleDataFormat的文档特别声明您可以编辑输出。我疯了吗?