我有一个字符串,其中包含YYYYMMDD格式的日期(例如20130614),我想将其转换为日期并打印出来:'Day Month Day Year'(例如2013年6月14日星期五)。 我尝试用SimpleDateFormat做这个,但它返回日期和时间(我不想要时间) (例如,Eri Jun 14 00:00:00 EET 2013)。
我的代码是:
String tmpValue = "20130614";
Date date = (Date) new SimpleDateFormat("yyyyMMdd").parse(tmpValue);
另外,我希望在打印后将其转换回YYYYMMDD格式的String。有可能吗?
答案 0 :(得分:5)
Date
类表示日期和时间(令人困惑地命名),因此您将获得时间组件。可用且直观的日期/时间API的标准建议是使用Joda,它为您提供这些特定模型。
要回答第二个问题,您可以再次使用SimpleDateFormat
将其转换回字符串(请查看文档)。和以前一样,我会推荐Joda,因为SimpleDateFormat
类(反直觉)不是线程安全的!
答案 1 :(得分:0)
尝试:
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Date data = new Date(format.parse(tmpValue).getTime());