【问题标题】:Problem: wrong output using Java Calendar class [closed]问题:使用 Java Calendar 类的错误输出 [关闭]
【发布时间】:2019-01-01 13:12:11
【问题描述】:

我是一名 Java 开发人员。

我有一个关于 Java Calendar 库类的问题。

我的错误是什么?它是Java中的错误吗? 请给我解释一下。

public static void main(String[] args) {
        Calendar cal2 = Calendar.getInstance();
        Calendar cal3 = Calendar.getInstance();
        DateFormat dateFormat = new SimpleDateFormat("dd/MM/YYYY");

        cal3.add(Calendar.DATE, -1);

        String today = (dateFormat.format(cal2.getTime()));

        String yesterday = (dateFormat.format(cal3.getTime()));
        System.out.println(today);
        System.out.println(yesterday);
}

输出:

01/01/2019
Picked up _JAVA_OPTIONS: -Xmx512M
31/12/2019

2019 年如预期在第一行,但我预计 2018 年在最后一行。

【问题讨论】:

  • 不是一个答案,但现在可能是开始阅读 Java 8 API 的好时机,这让您可以更直接地做您想做的事情。
  • 谢谢兄弟...但是我想要这样的 31/12/2018 到 01/01/2019 现在所有的报告都是错误的我该怎么办?
  • 您能否在您的问题具体中添加您所看到的问题的描述,以便其他有类似问题的人可以找到这个问题以及可能的答案(因为这是这个问题的主要目标地点)? “java 日历库中的错误”并不是很具体,因为它可能是编译错误、运行时异常或许多其他错误。尝试添加更多关于你期望得到什么以及你得到什么的详细信息。

标签: java datetime calendar simpledateformat


【解决方案1】:

使用yyyy(Year) 代替YYYY(Week year)。请参阅doc

【讨论】:

  • 哦,谢谢它的工作
猜你喜欢
  • 1970-01-01
  • 2021-11-27
  • 2014-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多