String是“Tue, 05 Sep 2006 09:16:59 GMT+8”,如何格式化成一个java.util.Date返回呢?

解决方案 »

  1.   

    java.util.Date date=new Date("2006/5/5");
      

  2.   

    直接这样也可以:
    java.util.Date date =new java.util.Date("Tue, 05 Sep 2006 09:16:59 GMT+8");
    System.out.println(date.toLocaleString());
      

  3.   

    Date(String)都准备废掉了
    另外说一句那个“Tue, 05 Sep 2006 09:16:59 GMT+8”只是举个例子,是类似这样的时间格式,应该要一个pattern来parser的吧?
      

  4.   

    /**
         * 得到给定日期
         * 
         * @param date 给定日期
         * @param pattern 给定日期格式
         * @return Date 给定日期
         */
    Date getDate(String date, String pattern) {        SimpleDateFormat formatter = new SimpleDateFormat(pattern);
            try {
                return formatter.parse(date);
            }
            catch (Exception e) {
                throw new RuntimeException(e.getMessage());
            }
        }
    ---------------------------------------------
    日期格式的表达式,你可以通过API查一下SimpleDateFormat就可以得到了!
      

  5.   

    to楼上的:“EEE, d MMM yyyy HH:mm:ss Z”这个pattern也不法解析正确,请问要用什么pattern呢?
      

  6.   

    //直接传个"Tue, 05 Sep 2006 09:16:59 GMT+8"就可以得到
    Date getDate(String date) {        SimpleDateFormat formatter = new SimpleDateFormat();
            try {
                return formatter.parse(date);
            }
            catch (Exception e) {
                throw new RuntimeException("日期格式不正确");
            }
        }
      

  7.   

    <%
      java.util.Calendar cal = java.util.Calendar.getInstance();
      java.text.SimpleDateFormat fmt = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
      String time = fmt.format(cal.getTime());
    out.print(time)
    %>
    输出为  2006-09-06 12:30
      

  8.   

    liwenqiu(小秋) ( ) 信誉:100    Blog  2006-09-06 12:31:00  得分: 0  
     
     
       to楼上:不行 一样有异常抛出。
    ===================================
    java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat();
    java.util.Date dd=date1.parse("Tue, 05 Sep 2006 09:16:59 GMT+8");
    这个是正确的
    java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat();
    java.util.Date dd=date1.parse("2005-8-8");  
    这个是错误的
    java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat("yyyy-MM-dd");
    java.util.Date dd=date1.parse("2005-8-5");
    这样正确
    ==================
    也就是说,("Tue, 05 Sep 2006 09:16:59 GMT+8")这种格式日期不用指定格式,应该是默认的格式,其他的要指定日期格式
     
      

  9.   

    方法是针对中国区使用的,你的可以使用下面的String dateString = "Tue, 05 Sep 2006 09:16:59 GMT +8";
            String pattern = "EEE, dd MMM yyyy HH:mm:ss z";
            
            SimpleDateFormat formatter = new SimpleDateFormat(pattern,Locale.US);
            try {
                Date date = formatter.parse(dateString);
                System.out.println("date = " + date);
            }
            catch (Exception e) {
                throw new RuntimeException(e.getMessage());
            }
      

  10.   

    date = new date.toString()
      

  11.   

    To:lip009(深蓝忧郁)
    public class Test {
    public static void main(String[] args) throws Exception {
    java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat();
    java.util.Date dd = date1.parse("Tue, 05 Sep 2006 09:16:59 GMT+8");
    }

    抛出异常:
    Exception in thread "main" java.text.ParseException: Unparseable date: "Tue, 05 Sep 2006 09:16:59 GMT+8"
    at java.text.DateFormat.parse(DateFormat.java:335)