可能重复:
Parsing a date in Java?
Java string to date conversion
我如何解析默认返回此格式的Date对象:
Nov 22, 1963 00:00:00 PM
采用以下格式:
Fri Nov 22 1963 00:00:00 GMT-0600
感谢您的帮助。
答案 0 :(得分:2)
使用SimpleDateFormat(http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html)类解析原始字符串,然后使用SimpleDateFormat类的新格式对其进行格式化。
答案 1 :(得分:1)
FastDateFormat(来自他们的api),“SimpleDateFormat的快速且线程安全的版本。” Here是一篇解释它的文章
答案 2 :(得分:1)
首先,您需要String
来自Date
的{{3}}对象,您可以使用Date
,这是与此步骤相关的SimpleDateFormat
。
其次,您必须以相应的文字格式取回SimpleDateFormat
,因此请再次使用Format formatter = new new SimpleDateFormat("your format here");
String dateString = formatter.format(date);
:
{{1}}
答案 3 :(得分:1)
SimpleDateFormat sdfDestination = new SimpleDateFormat("E MMM-dd-yyyy hh:mm:ss");
sdfDestination .setTimeZone(TimeZone.getTimeZone("GMT-6").getID());
String strDate = sdfDestination.format(oldDateObject); //pass here your old date object
答案 4 :(得分:1)
你表达问题的方式表明你混淆了许多事情。
首先,您不“解析Date对象”。您可以将包含日期(作为文本)的字符串转换为Date
对象。这就是所谓的解析。因此,您解析字符串,结果是Date
对象 - 您不“解析Date对象”。
相反(将Date
对象转换为字符串)称为格式化。
Date
个对象本身没有格式。就像一个数字只是一个数字(它没有固有的格式),Date
只是一个日期。当您在toString()
对象上调用Date
(显式或隐式)时,将使用一种看似Nov 22, 1963 00:00:00 PM
的默认格式打印日期。但格式不是Date
对象本身的属性。
要以特定格式显示Date
,您可以使用DateFormat
对象将日期格式化为可以打印的字符串。您可以在DateFormat
对象中指定确切的格式。例如:
Date date = new Date();
DateFormat df = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss Z");
String text = df.format(date);
System.out.println(text);