当前位置: 首页 > 知识库问答 >
问题:

JavaDate()给出错误的日期[重复]

连德水
2023-03-14

我有一个简单的方法,可以获取当前日期,将其转换为特定格式,然后作为字符串返回。到目前为止,它还不错(上次尝试是在1月31日左右),但由于某种原因,当我今天尝试它时,它返回字符串“2013-02-43”。

现在很明显,2月份没有43天,我不知道为什么它会返回这个。我到处寻找解决方案,但似乎没有一个适合我的具体问题。以下是代码:

public String getDate(){
    DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-DD");
    Date date = new Date();

    return dateFormat.format(date);
}

为了记录在案,我尝试过使用Calendar.get实例()等。结果相同。有趣的是,当我尝试

get(Calendar.DAY_OF_MONTH) 

结果是12,所以在某些地方数字是对的,但在这两者之间出现了一些问题。

谢啦

共有3个答案

印嘉泽
2023-03-14

试试这个:“yyyy-MM-dd”

案件敏感性很重要。“DD”是一年中的一天。

雍兴修
2023-03-14

日期格式中的大写字母D是年份中的日期。您想要以月份为单位的日期:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
向俊贤
2023-03-14

DD表示年的一天,而dd表示月份的一天。此外,Y表示周年,而y表示年。您需要yyy-MM-dd(区分大小写)。

public String getDate(){
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Date date = new Date();

    return dateFormat.format(date);
}
 类似资料:
  • 问题内容: 我创建了一些小的方法作为Util类,例如以下代码: 并且,进行了非常简单的运行,如下所示: 结果是一个很奇怪的日期-> 2017/07/187 搜索了类似的问题,并尝试了TimeZone,Locale,但没有帮助。有什么建议 ? 顺便说一句,这是我的环境: Windows7 x86 JDK 1.8.0.131 x86 Oxygen corrosion of x86 问题答案: 您格式化

  • 问题内容: 我有一个简单的方法,应该获取当前日期,将其放入某种格式,然后将其作为String返回。到目前为止,一切都很好(上次尝试于1月31日进行),但由于某种原因,当我今天尝试使用它时,它返回字符串“2013-02-43”。 显然,二月份没有43天,而且我不知道为什么要返回此日期。我到处都在寻找解决方案,但似乎没有一个适合我遇到的特定问题。这是代码: 仅出于记录目的,我尝试使用Calendar.

  • 问题内容: 我有一个具有日期字段的类,该日期字段表示一条数据的“有效起始日期”。定义如下: 从我从数据库中提取日期并显示它的那一点似乎一切正常。如果我在前端选择日期2003年9月18日,那么当我检查数据库时要保存足够的日期,即保存日期(数据库为MySQL 5.5.9列类型为DATE)。但是,当我调出列表记录时,显示的日期是2003年9月17日-提前一天。 如果我选择年初或晚于2003年3月26日或

  • 我使用下面的代码来格式化日期。但是当我以不正确的格式给出数据时,它会给出意想不到的结果。 在上述情况下,输出为-formattedVal:0009-02-05。 它不是抛出解析异常,而是解析值并给我一个不正确的输出。有人能帮我理解这种反常的行为吗。

  • 问题内容: 我从控制器中的java()发送此日期,输入的类型为 如下: 当我得到这个日期与ajax为: 转换成 那么,为什么我得到错误的一小时约会呢? 解 我们通过以下方式解决它 因为这是夏令时(DST)或夏令时的问题。好文章 问题答案: 我认为这可能是 夏令时的 问题。您可以检查客户端的时区和服务器的时区。(Web服务器或SQL Server)

  • 我正在构建一个应用程序,我正在使用react-datepicker,但是我的组件有一个奇怪的行为。所选日期显示错误的格式。这是我正在使用的: 和 问题是组件显示以下值:。 似乎该组件正在计算到一年中的当前日期已经过去了多少天。我也尝试过,但没有成功。任何帮助都将不胜感激。谢谢。