-4

如何使用这种格式获取系统的当前日期yyyy-MM-dd

我要这个

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

但返回 aDate而不是 a String

任何帮助是极大的赞赏。

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

4

4 回答 4

7

如何使用这种格式 yyyy-MM-dd 获取系统的当前日期,但返回日期而不是字符串。

你不能。没有“带有格式的 a”之类的东西,也没有“Date带有格式的 an”的概念intDate只是一个时间点,没有关联的文本格式、日历系统或时区。

使用new Date()将为您提供一个Date代表当前时间的对象,仅此而已。你如何使用它取决于你 - 但如果你从一个方法返回它,那么没有关联的日期(因为日期会因时区而异),没有格式等 - 由调用代码来适当地使用它。

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

编辑:要回答您的更新,您可以使用SimpleDateFormat来解析 - 但不清楚您的字符串从哪里开始。这听起来与您问题的其余部分相反

于 2013-05-08T11:51:29.950 回答
1

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

于 2013-05-08T11:53:45.873 回答
0

在将日期作为字符串接收的方法上,使用另一个 simpledateformatter 并通过使用将字符串转换为日期

simpledateformatter.parse(strDate);
于 2013-05-08T11:55:52.723 回答
-1

你可以用这个.!!

String formatDate = new SimpleDateFormat("yyyy-MM-dd").format( yourDate);
于 2013-05-08T11:53:47.710 回答