【问题标题】:Java SimpleDateFormat not working [duplicate]Java SimpleDateFormat 不工作 [重复]
【发布时间】:2018-09-07 01:19:32
【问题描述】:

我在 Android 中使用以下格式显示日期和时间: 2015-11-25 23:25:00

如何将其更改为以下格式? 2015-11-25

我写了一些代码,但不能正常工作。

    public static Date toDate(boolean isCurrentDate, String dateString) {
    Date date=null;
    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    try {
        if (isCurrentDate)
            date = new Date();
        else
            date = formatter.parse(dateString);
        System.err.println("Printresult" + formatter.parse(formatter.format(date)));

    } catch (ParseException e1) {
        e1.printStackTrace();
    }

    System.err.println("Printresult2" + date.toString());
    return date;
}

我登录,结果是这样的

Wed Nov 25 00:00:00 GMT+00:00 2015

我怎样才能像这样更改日期格式:? (2015-11-25)

【问题讨论】:

  • 为什么System.err.println() ??有 Log.v() 或System.out.println()
  • formatter.parse(formatter.format(date)) 更改为formatter.format(date) :-)
  • 我试过了,但返回数据的格式是这样的 Wed Nov 25 00:00:00 GMT+00:00 2015 @Rahul Kumar
  • ParseException 会打印出来吗?

标签: java date simpledateformat


【解决方案1】:

如果格式不同,您需要一种格式进行解析,另一种格式用于打印。

以下代码处理以您想要的格式显示日期。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(date));

您可以通过使用匿名类并覆盖toString() 方法来改变toString() 方法的行为,或者只是创建派生自Date 的命名类,但这样做没有意义。

【讨论】:

  • 感谢您的关注。我的目标是更改日期格式并以更改的格式返回当前日期。我该如何解决?我调试了,结果是一样的@Yoda
  • @BekaKK 您不能为Date 对象设置格式,它的toString() 方法将始终根据一种格式返回字符串,但您可以使用SimpleDateFormat 根据格式显示它对象及其format() 方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-30
  • 2013-08-08
  • 2014-12-02
  • 1970-01-01
  • 2019-05-27
  • 1970-01-01
相关资源
最近更新 更多