首页  >  文章  >  Java  >  如何在Java中将日期字符串“2012-11-17T00:00:00.000-05:00”转换为“mm/yyyy”格式?

如何在Java中将日期字符串“2012-11-17T00:00:00.000-05:00”转换为“mm/yyyy”格式?

Susan Sarandon
Susan Sarandon原创
2024-11-02 15:57:29610浏览

How to Convert a Date String

无法在 Java 中将对象格式化为日期

问题:

如何将日期格式设置为“2012-” 11-17T00:00:00.000-05:00”在 Java 中转换为“mm/yyyy”?

遇到错误:

尝试使用 DateFormat 时。直接对日期的字符串表示形式进行格式化,会抛出异常:

java.lang.IllegalArgumentException: Cannot format given Object as a Date

解决方案:

关键是要认识到 DateFormat.format 专门用于日期值,而不是日期的字符串表示形式。因此,应该使用以下两步方法:

  1. 将输入字符串解析为 Date 对象:

    <code class="java">DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
    Date date = inputFormat.parse(inputText);</code>
  2. 将 Date 对象格式化为所需的输出格式:

    <code class="java">DateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US);
    String outputText = outputFormat.format(date);</code>

用法示例:

<code class="java">String inputText = "2012-11-17T00:00:00.000-05:00";
String outputText = new SimpleDateFormat("MM/yyyy", Locale.US).format(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US).parse(inputText));</code>

通过执行以下步骤,可以将日期字符串转换为所需的“mm/yyyy”格式,而不会遇到 Cannot format给定对象作为日期的异常。

以上是如何在Java中将日期字符串“2012-11-17T00:00:00.000-05:00”转换为“mm/yyyy”格式?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn