当前位置: 首页 > 知识库问答 >
问题:

JavaSimpleDateFormat不接受##/##

聂琨
2023-03-14

下面,我有我试图使用的代码。它总是命中捕捉,返回空。月和日都是整数,它们已经过检查,以确保它们在现有日期内。不管怎样,我用“05”测试一个月,用“02”测试一天。由于某种原因, ##/## 输入不起作用吗?

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”。当我查看文档时,我看到页面的很大一部分专门用于格式化输出。为什么我的格式不是这样?

共有3个答案

祁正浩
2023-03-14

您的输入与格式模式不匹配。。。

您的输入格式为MM/dd,但您的模式格式为MMMM d,您需要进行其中一项匹配

尝试使用

String tempDate = month + " " + day;
Date alphabetDate = new SimpleDateFormat("MM d").parse(tempDate);

相反,例如...

韩弘方
2023-03-14

您正在错误地分析simpledataformat中的字符串。。

试试这个:

String tempDate = month + "/" + day;
        Date alphabetDate = new SimpleDateFormat("MM/d").parse(tempDate);
屈昊天
2023-03-14

如果您的输入是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;
    }
}
 类似资料:
  • 我在Java中使用SimpleDataFormat,由于某种原因,它没有检测到月份。这是我的代码: 调用此方法:返回以下内容:而我想返回: 我的输出格式有问题吗?

  • 我将teformat构造函数简化为 我正在解析字符串“2013-09-29T18:46:19Z”。 我读到这里Z代表时区。但是当我在控制台上打印这个日期时,它会为返回的日期打印IST timezne。 现在我的问题是我的输出是对还是错?

  • 我正在使用tomcat v8,并试图通过RequestBody向我的REST API发送一个对象。这个REST API基本上是RequestMethod。这个API内部的逻辑是删除RequestBody中传递的对象。 这对我不起作用。我后来不得不将我的方法转换为POST,但我仍然想知道DELETE是否不接受RequestBody? 这是来自Spring框架或REST原则的限制,还是与我的Tomca

  • 我正在将现有代码迁移到一个超类/子类的情况下。见下文。 方法在父类中:

  • 问题内容: 我正在使用JBoss AS 7,并尝试使用IP(从Intranet中的计算机)连接到我的应用程序。它不起作用。如果我从具有服务器的计算机上进行测试,则可以通过localhost(http:// localhost:8080 / MySystem ....)看到系统正在运行,但是如果我尝试使用IP(http://: 8080 / MySystem ....)。 有什么帮助吗? 问题答案:

  • 这是我的蓝图代码。 内部消息工作。 外部消息不工作。 我在docker中运行Red Hat AMQ 7和Fuse 7。内部消息队列在服务之间正常工作。 使用AMQ 6,当在activemq中设置时,我能够向61613上的嵌入式代理发送和接收STOMP消息。xml 现在,我正在使用AMQ 7.0的默认设置,它将接受程序设置为0.0.0.0:61616和61613,这两个接受STOMP协议。 但是相同