如题,时间格式如下String time = "2011-11-07T16:28:44+0000";怎么转换为Date类型?用java?

解决方案 »

  1.   

    通过Dateformat date = new simpledateformat("yyyy-MM-dd hh:ss:mm");
      

  2.   

    通过Dateformat date = new simpledateformat("yyyy-MM-ddThh:ss:mm+0000");
      

  3.   

    有  ("yyyy-MM-ddThh:ss:mm+0000")  这个格式????测试结果如下:
    Exception in thread "main" java.lang.IllegalArgumentException: Illegal pattern character 'T'
    at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:696)
    at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:515)
    at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:464)
    at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:445)
    at com.huawei.smp.business.sng.activity.Test.main(Test.java:19)
      

  4.   

    DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数。 DateFormat 提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期/时间 Formatter。格式化风格包括 FULL、LONG、MEDIUM 和 SHORT。方法描述中提供了使用这些风格的更多细节和示例。 DateFormat 可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。 要格式化一个当前语言环境下的日期,可使用某个静态工厂方法:   myString = DateFormat.getDateInstance().format(myDate);
     如果格式化多个日期,那么获取该格式并多次使用它是更为高效的做法,这样系统就不必多次获取有关环境语言和国家/地区约定的信息了。   DateFormat df = DateFormat.getDateInstance();
      for (int i = 0; i < myDate.length; ++i) {
        output.println(df.format(myDate[i]) + "; ");
      }
     要格式化不同语言环境的日期,可在 getDateInstance() 的调用中指定它。   DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);
     还可使用 DateFormat 进行解析。   myDate = df.parse(myString);
     使用 getDateInstance 来获取该国家/地区的标准日期格式。另外还提供了一些其他静态工厂方法。使用 getTimeInstance 可获取该国家/地区的时间格式。使用 getDateTimeInstance 可获取日期和时间格式。可以将不同选项传入这些工厂方法,以控制结果的长度(从 SHORT 到 MEDIUM 到 LONG 再到 FULL)。确切的结果取决于语言环境,但是通常: SHORT 完全为数字,如 12.13.52 或 3:30pm 
    MEDIUM 较长,如 Jan 12, 1952 
    LONG 更长,如 January 12, 1952 或 3:30:32pm 
    FULL 是完全指定,如 Tuesday、April 12、1952 AD 或 3:30:42pm PST。 
    通过Dateformat date = new simpledateformat("yyyy-MM-dd hh:ss:mm");其中小写的“hh”是以十二小时计算,“HH”是心二十四小时计算。
      

  5.   

    DateFormat d = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'+0000'",Locale.CHINA);
      

  6.   


    String t = "2011-11-07T16:28:44+0000";
    t = t.replace('T', ' ').substring(0, 19);
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:ss:mm");
    Date date = new Date();
    date = df.parse(t);
      

  7.   


    SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd'T'hh:ss:mm +0000");
    System.out.println(date.parse("2011-11-07T16:28:44 +0000"));
      

  8.   

    我个人觉得可以先对String time = "2011-11-07T16:28:44+0000"进行转换成
    String time = "2011-11-07 16:28:44"后,
    再使用DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:ss:mm");