首页 > Java > java教程 > 为什么 DateFormat 会抛出'无法将给定对象格式化为日期”异常?

为什么 DateFormat 会抛出'无法将给定对象格式化为日期”异常?

Linda Hamilton
发布: 2024-11-03 07:14:03
原创
385 人浏览过

Why Does DateFormat Throw a

DateFormat 无法格式化字符串对象

在 Java 中,DateFormat 类专门用于格式化和解析 Date 对象,而不是字符串。提供的代码演示了一个常见错误,其中日期的字符串表示形式 (“2012-11-17T00:00:00.000-05:00”) 直接传递给 DateFormat.format() 方法。这会导致“无法将给定对象格式化为日期”异常。

两个 SimpleDateFormat 对象方法

要解决此问题,需要使用两个 SimpleDateFormat 对象:一个用于将字符串解析为 Date 对象,另一个用于将 Date 对象格式化为所需的格式。以下修改后的代码解决了该问题:

<code class="java">import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;

public class DateParser {    
  public static void main(String args[]) {   
    String MonthYear = null;    
    String dateformat = "2012-11-17T00:00:00.000-05:00";

    SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
    SimpleDateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US);

    try {
      Date date = inputFormat.parse(dateformat);
      MonthYear = outputFormat.format(date);    
      System.out.println(MonthYear);    
    } catch (ParseException e) {
      System.err.println("Invalid date format.");
    }
  }    
}</code>
登录后复制

在此代码中:

  • inputFormat 用于将输入字符串解析为 Date 对象。
  • outputFormat然后用于将 Date 对象格式化为所需的“mm/yyyy”格式。
  • 代码在解析输入字符串时处理潜在的 ParseException 异常。

以上是为什么 DateFormat 会抛出'无法将给定对象格式化为日期”异常?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板