我有一个String
包含toString()
在java.util.Date
. 如何将此值解析回Date
对象?
Java 文档说,toString()
将此Date
对象转换String
为以下形式的 a:
dow mon dd hh:mm:ss zzz yyyy
但是当然没有像"dow"
or这样的格式标签"mon"
。
有人可以帮我解决这个问题。请注意,不幸的toString()
是,调用是在我无法控制的一段代码中。
如果您无法控制生成字符串的代码:
要解析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"));`
我没有测试,但这样的事情可能会起作用:
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
使用简单日期格式。在这里找到文档: http ://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
首先看一下 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();
}
}
}
假设你得到 String of "dateString" ;
SimpleDateFormat sdf = new SimpleDateFormat("dow mon dd hh:mm:ss zzz yyyy");
Date date = sdf.parse("dateString");