`

DateFormat的使用(java.text.ParseException: Unparseable date)(转载)

阅读更多

java.text.ParseException: Unparseable date: "11/10/10"
 at java.text.DateFormat.parse(DateFormat.java:337)

 

 

下面是可以运行的代码。

        Date date = new Date();
        System.out.println(date.toString());
       
        DateFormat df = new SimpleDateFormat ("yyyy-MM-dd");    
        Date d1 = df.parse("2001-01-01");
        System.out.println(d1.toString());
       
        DateFormat df2 = DateFormat.getDateInstance(DateFormat.SHORT);
        System.out.println(df2.format(new Date()));       
        Date d2 = df2.parse("11/10/10");
        System.out.println("DateFormat.SHORT: " + d2.toString());
       
        DateFormat df3 = DateFormat.getDateInstance(DateFormat.MEDIUM);
        System.out.println(df3.format(new Date()));       
        Date d3 = df3.parse("Nov 10, 2010");
        System.out.println("DateFormat.MEDIUM: " + d3.toString());
       
        DateFormat df4 = DateFormat.getDateInstance(DateFormat.LONG);
        System.out.println(df4.format(new Date()));       
        Date d4 = df4.parse("November 10, 2010");
        System.out.println("DateFormat.LONG: " + d4.toString());

 

结果如下:

Wed Nov 10 10:15:05 CST 2010
Mon Jan 01 00:00:00 CST 2001
11/10/10
DateFormat.SHORT: Wed Nov 10 00:00:00 CST 2010
Nov 10, 2010
DateFormat.MEDIUM: Wed Nov 10 00:00:00 CST 2010
November 10, 2010
DateFormat.LONG: Wed Nov 10 00:00:00 CST 2010

 

 上面的结果是我在英文系统的电脑里运行的。

要在中文系统的电脑运行,代码要如下:

 

Date date = new Date();
         System.out.println(date.toString());
        
         DateFormat df = new SimpleDateFormat ("yyyy-MM-dd");    
         Date d1 = df.parse("2001-01-01");
         System.out.println(d1.toString());
        
         DateFormat df2 = DateFormat.getDateInstance(DateFormat.SHORT);
         System.out.println(df2.format(new Date()));       
         Date d2 = df2.parse("11-10-10");
         System.out.println("DateFormat.SHORT: " + d2.toString());
        
         DateFormat df3 = DateFormat.getDateInstance(DateFormat.MEDIUM);
         System.out.println(df3.format(new Date()));       
         Date d3 = df3.parse("2010-11-10");
         System.out.println("DateFormat.MEDIUM: " + d3.toString());
        
         DateFormat df4 = DateFormat.getDateInstance(DateFormat.LONG);
         System.out.println(df4.format(new Date()));       
         Date d4 = df4.parse("2010年11月10日");
         System.out.println("DateFormat.LONG: " + d4.toString());

 

结果如下:

Wed Nov 10 20:24:28 CST 2010
Mon Jan 01 00:00:00 CST 2001
10-11-10
DateFormat.SHORT: Mon Oct 10 00:00:00 CST 2011
2010-11-10
DateFormat.MEDIUM: Wed Nov 10 00:00:00 CST 2010
2010年11月10日
DateFormat.LONG: Wed Nov 10 00:00:00 CST 2010

 

可以看到每个DateFormat的构造不同,放入DateFormat.parse(String str)这个函数的字符串不同。

但是DateFormat要放入和他规范的字符串格式,还要他去parse干啥! 脱裤子放屁——多此一举的感觉。

 

http://hongweiwang1984.blog.163.com/blog/static/272677620101010101351567/

 

 

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");这里的格式是
4位年 2位月 2位日 2位时 2位分 2位秒 共14位
但是你传入的字符串 只有12位 转换就出错了201104132200变成20110413220000就对了
输入的字符串要和你想要的格式长度神马的都一样才行
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
                        try {
   Date date = sdf.parse("20110413111100");
   String s = sdf.format(date);
   System.out.println(s);
  } catch (ParseException e) {
   e.printStackTrace();
  }

分享到:
评论

相关推荐

    java.util.Date与java.sql.Date相互转换

    java.util.Date utilDate = dateFormat.parse(dateStr); // 注意:这里需要将日期字符串转换为符合 "yyyy-MM-dd" 格式的形式 ``` 3. **直接转换** 由于 `java.sql.Date` 是 `java.util.Date` 的子类,因此...

    findbug 错误日志文档

    Bug: Call to method of static java.text.DateFormat Pattern id: STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE, type: STCAL, category: MT_CORRECTNESS As the JavaDoc states, DateFormats are inherently ...

    Java_Date_日期时间整理

    可以使用 `java.text.SimpleDateFormat` 类的 `parse()` 方法将字符串转换为日期。 ```java <%@ page import="java.util.Date"%> <%@ page import="java.text.SimpleDateFormat"%> ; SimpleDateFormat formatter = ...

    java 核心API(java.text) 程序例子

    其中,`java.text`包是专门处理文本格式化、国际化和本地化的重要工具集,广泛用于日期、时间、数字、货币、数字格式化等方面。在这个包中,有许多关键的类和接口,例如`Format`、`NumberFormat`、`DateFormat`、`...

    java的时间设计案例

    根据提供的文件信息,本文将详细解析Java中处理时间的相关知识点,包括如何使用`java.util.Date`类、`java.text.DateFormat`及其子类`java.text.SimpleDateFormat`来格式化日期时间,并探讨如何根据不同地区设置不同...

    javaApi分类[参考].pdf

    26. **Java.text**: 文本处理,支持日期、数字和字符串的格式化,如DateFormat和NumberFormat。 27. **Java.util**: 包含集合框架(如List、Set和Map)、日期/时间、事件模型、随机数生成器等工具类。 这些只是...

    java获取系统时间

    通过这些示例,我们可以看到如何使用`java.util.Date`和`java.text.DateFormat`来获取和格式化Java中的系统时间。这为开发人员提供了灵活的方式来处理日期和时间数据,使其在程序中更加易读和易于理解。

    Java28个相关包

    7. **java.text**:处理文本格式化和解析,如DateFormat、NumberFormat、MessageFormat等。 8. **java.concurrent**:多线程和并发编程包,包括Thread、ExecutorService、Future、Semaphore等工具类。 9. **java....

    字符串转日期

    2. **`java.text.ParseException`**: 当`SimpleDateFormat`无法正确解析日期字符串时抛出的异常。 3. **`java.util.Date`**: Java中的基本日期表示类,用于表示特定的瞬间,精确到毫秒。 #### 三、代码示例分析 ...

    欧柏泰克:Java常用类库--日期操作类

    df2 = DateFormat.getDateTimeInstance(); // 得到日期时间的 DateFormat 对象 System.out.println("DATE:" + df1.format(new Date())); // 按照日期格式化 System.out.println("DATETIME:" + df2.format(new ...

    java获取当前时间代码

    在 Java 中,有多种方式可以获取当前时间,这里我们介绍两种常见的方法:使用 java.util.Date 类和使用 java.text.DateFormat 类。 方法一:使用 java.util.Date 类 java.util.Date 类是 Java 中的一个基本类,...

    java 时间格式转化 pdf

    根据提供的文件信息,本文将详细解释Java中时间与日期格式化的相关知识点,包括如何使用`java.text.DateFormat`类以及`java.text.SimpleDateFormat`类来进行日期格式的定制化处理,并且会额外介绍`java.util....

    javaAPI手册

    8. `java.text`:处理文本格式化,如NumberFormat、DateFormat和MessageFormat等。 9. `java.concurrent`:并发编程包,提供了线程、同步和并发控制的工具,如ExecutorService、Semaphore、CountDownLatch等。 10....

    Java 获取日期时间代码

    在Java中,有多种类可以用于获取日期时间,主要包括`java.util.Date`、`java.sql.Date`、`java.util.Calendar`和`java.text.SimpleDateFormat`等。其中: - **`java.util.Date`**:用于表示特定的瞬间,即从1970年1...

    Java中DateFormat类.pdf

    Java中的`DateFormat`类是`java.text`包下的一个核心组件,主要用于日期和时间的格式化与解析。这个抽象类提供了与语言环境无关的方式来处理日期和时间字符串,使得程序具有更好的国际化支持。`DateFormat`是所有...

    Java api 函数大全2009.7.18

    7. `java.text`:文本格式化和解析,如`NumberFormat`、`DateFormat`等。 8. `java.sql`:数据库连接和SQL操作,包括`Connection`、`Statement`、`ResultSet`等。 9. `java.lang.reflect`:反射机制,允许在运行时...

    java使用DateFormat类转换时间格式.docx

    ### Java使用DateFormat类转换时间格式 #### 一、引言 在Java编程中,处理日期与时间是非常常见的需求之一。`java.util`包中的`DateFormat`类提供了多种方法来格式化日期并将其转换为字符串,或者将字符串解析为...

    JAVA中获取当前时间

    通过以上介绍,我们可以看到,在Java中获取当前时间有多种方法,其中使用`java.util.Date`类和`java.text.DateFormat`类是一种较为传统但非常实用的方式。这些方法不仅能够满足大多数情况下对时间和日期的格式化需求...

    JAVA API文档1.6官方中文版

    10. `java.text`:处理文本格式化和本地化,如`NumberFormat`、`DateFormat`等,方便在不同语言环境中使用。 这些包中的类和接口共同构成了Java开发的基本工具箱,通过阅读API文档,开发者可以了解每个类的功能、...

Global site tag (gtag.js) - Google Analytics