21

我有一个String包含toString()java.util.Date. 如何将此值解析回Date对象?

Java 文档说,toString()将此Date对象转换String为以下形式的 a:

 dow mon dd hh:mm:ss zzz yyyy

但是当然没有像"dow"or这样的格式标签"mon"

有人可以帮我解决这个问题。请注意,不幸的toString()是,调用是在我无法控制的一段代码中。

4

5 回答 5

34

如果您无法控制生成字符串的代码:

要解析toString()格式,您需要将SimpleDateFormat语言环境设置为英语并使用格式:"EEE MMM dd HH:mm:ss Z yyyy".

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", new Locale("us"));`
于 2012-06-28T07:23:07.083 回答
2

我没有测试,但这样的事情可能会起作用:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM HH:mm:ss z yyyy");
Date date = sdf.parse(dateStr);

如果没有,请尝试使用文档进行更正:http: //docs.oracle.com/javase/6/docs/api/java/util/Date.html#toString () http://docs.oracle.com/javase /6/docs/api/java/text/SimpleDateFormat.html

于 2012-06-28T07:40:21.197 回答
-1

使用简单日期格式。在这里找到文档: http ://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

于 2012-06-28T07:24:09.600 回答
-1

首先看一下 java Date Formats提供的所有日期格式。你可以使用SimpleDateFormat类来做你想做的事。

 public class DateFormatTest 
    { 
      public DateFormatTest() 
      { 
        String dateString = // in "dow mon dd hh:mm:ss zzz yyyy" format

        SimpleDateFormat dateFormat = new SimpleDateFormat("dow mon dd hh:mm:ss zzz yyyy"); 
        Date convertedDate = dateFormat.parse(dateString); 

        System.out.println("Converted string to date : " + convertedDate); 
      } 

      public static void main(String[] argv) 
      { 
        new DateFormatTest(); 
      } 
    } 
  }
于 2012-06-28T07:30:02.397 回答
-2

假设你得到 String of "dateString" ;

SimpleDateFormat sdf = new SimpleDateFormat("dow mon dd hh:mm:ss zzz yyyy");

Date date = sdf.parse("dateString");
于 2012-06-28T07:26:59.647 回答