如何使用yyyy-MM-dd格式获取日期

时间:2013-05-08 11:50:03

标签: java date

如何使用此格式yyyy-MM-dd

获取系统的当前日期

我想要这个

SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String strDate = formatDate.format(now);
return strDate;

但返回Date而不是String

非常感谢任何帮助。

更新:如果是这种情况,我可以将我的字符串解析为日期吗?

4 个答案:

答案 0 :(得分:7)

  

如何使用此格式yyyy-MM-dd获取系统的当前日期,但返回Date而不是String。

你做不到。除了“具有格式的Date”的概念之外,没有“具有格式的int”之类的东西。 Date只是一个时间点,没有关联的文本格式,日历系统或时区。

使用new Date()会得到一个代表当前时刻的Date对象,而不是其他内容。你如何使用它取决于你 - 但是如果你从一个方法返回它,那么就没有相关的日期(因为日期会因时区而异),没有格式等 - 这取决于调用代码是否适当地使用它。 / p>

您可能需要考虑使用至少具有LocalDate类型的Joda Time - 尽管在考虑“当前日期”时仍需要考虑要使用的时区。 (并且仍然没有与该值相关联的格式信息。)

编辑:要回答您的更新,您可以使用SimpleDateFormat进行解析 - 但不清楚您的字符串来自何处。这听起来像是你问题其余部分的相反的要求。

答案 1 :(得分:1)

因为您无法更改Date格式构建自己的CustomDate,所以它只是时间的表示。

答案 2 :(得分:0)

关于以字符串形式接收日期的方法 使用另一个simpledateformat 并使用

将字符串转换为日期
simpledateformatter.parse(strDate);

答案 3 :(得分:-1)

你可以使用它。!!

String formatDate = new SimpleDateFormat("yyyy-MM-dd").format( yourDate);