【问题标题】:How to getDate with yyyy-MM-dd format如何以 yyyy-MM-dd 格式获取日期
【发布时间】:2013-05-08 11:50:02
【问题描述】:

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

我想要这个

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

但返回 Date 而不是 String

非常感谢任何帮助。

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

【问题讨论】:

    标签: java date


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 最好的答案,你摇滚先生
    • 如果是这样,我可以将我的字符串解析为日期吗?
    • @sftdev: 使用SimpleDateFormat - 但我以为你是开始使用Date。您的要求目前非常不清楚。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      关于将日期作为字符串接收的方法 使用另一个简单的日期格式化程序 并使用

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

      【讨论】:

        【解决方案4】:

        你可以用这个。!!

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

        【讨论】:

          猜你喜欢
          • 2011-09-09
          • 2016-01-02
          • 1970-01-01
          • 1970-01-01
          • 2015-11-18
          • 2011-12-06
          • 2012-12-09
          • 1970-01-01
          • 2013-10-04
          相关资源
          最近更新 更多