Java 如何将字符串转换为日期对象[无时间]
我有一个字符串,其中包含YYYYMMDD格式的日期,例如20130614,我想将其转换为日期,并将其打印为:“日-月-日-年”,例如2013年6月14日星期五。 我试图用SimpleDateFormat实现这一点,但它返回日期和时间我不需要时间 e、 g.2013年6月14日星期五00:00:00 EET 我的代码是:Java 如何将字符串转换为日期对象[无时间],java,date,simpledateformat,Java,Date,Simpledateformat,我有一个字符串,其中包含YYYYMMDD格式的日期,例如20130614,我想将其转换为日期,并将其打印为:“日-月-日-年”,例如2013年6月14日星期五。 我试图用SimpleDateFormat实现这一点,但它返回日期和时间我不需要时间 e、 g.2013年6月14日星期五00:00:00 EET 我的代码是: String tmpValue = "20130614"; Date date = (Date) new SimpleDateFormat("yyyyMMdd").parse(t
String tmpValue = "20130614";
Date date = (Date) new SimpleDateFormat("yyyyMMdd").parse(tmpValue);
另外,我希望在打印后将其转换回YYYYMMDD格式的字符串。有可能吗?Date类表示一个日期和时间,它的名称容易混淆,因此不管怎样都会得到一个时间组件。对于可用且直观的日期/时间API的标准建议是使用,它为您提供了这些特定的模型
要回答第二个问题,可以使用SimpleDataFormat将其转换回字符串。再次检查文档。和前面一样,我建议在这里使用Joda,因为SimpleDataFormat类在直觉上是不安全的 Date类表示一个日期和时间,它的名称令人困惑,因此不管怎样,您都会得到一个时间组件。对于可用且直观的日期/时间API的标准建议是使用,它为您提供了这些特定的模型
要回答第二个问题,可以使用SimpleDataFormat将其转换回字符串。再次检查文档。和前面一样,我建议在这里使用Joda,因为SimpleDataFormat类在直觉上是不安全的 试试看:
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Date data = new Date(format.parse(tmpValue).getTime());
尝试:
+乔达蒂姆1人。顺便说一下,这里需要的Joda类是LocalDate.+1表示JodaTime。顺便说一下,这里需要的Joda类是LocalDate。