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

如何从年、月和日获取日期对象?

须捷
2023-03-14

当我使用以下代码时,DateObject错误。

Date date = new Date(day.getYear(), day.getMonth(), day.getDay());

谁能告诉我如何从年、月和日的值中获取Date对象?

共有3个答案

赵浩邈
2023-03-14

如果你坚持使用Java,你可以通过一种变通方法来实现

java.util.Date date = new java.text.SimpleDateFormat("dd.MM.yyyy").parse("05.08.2015");

正如@Thomas已经指出的,日期/月/年的默认构造函数已弃用。如果您可以访问Java8,可能会查看此链接。

裴实
2023-03-14

如果不知道更多,我不得不猜测,但你可能没有读过关于那个不推荐的构造函数的JavaDoc:

年份减去1900年
月份0-11之间的月份
日期在1-31之间。

如你所见,如果你想为今天(2015年8月5日)创建一个日期,你需要使用新日期(115,7,5)

如果您看到该文档,您可以自由猜测为什么不推荐使用该文档,并且不应在任何新代码中使用该文档。:)

汤跃
2023-03-14

您可以使用日历类来实现这一点。

public static void main(String[] args) throws Exception {
    Date date = new Date (115, 7, 5);
    System.out.println("date     = " + date);

    Calendar calendar = GregorianCalendar.getInstance();
    calendar.set(Calendar.DAY_OF_MONTH, 5);
    calendar.set(Calendar.MONTH, 7);
    calendar.set(Calendar.YEAR, 2015);
    calendar.set(Calendar.MILLISECOND, 0);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    date = calendar.getTime();
    System.out.println("calendar = " + date);

    // or create directly a new clanedar instance
    // thanks Tom to mention this
    calendar = new GregorianCalendar(2015, 7, 5);
    date = calendar.getTime();
    System.out.println("calendar = " + date);
}

输出

date     = Wed Aug 05 00:00:00 CEST 2015
calendar = Wed Aug 05 00:00:00 CEST 2015
calendar = Wed Aug 05 00:00:00 CEST 2015
 类似资料:
  • 问题内容: 我在String上有个约会,像这样: 我想将其划分为: 做这个的最好方式是什么? 问题答案: 在Java中拆分字符串的一种方法是使用.split(“ regex”),该方法根据提供的模式拆分字符串,并返回String数组。 获取当前日期:您还可以通过更改传递给SimpleDateFormat的值来更改日期格式。不要忘记进口。

  • 我需要一个可配置的格式作为输出。 我将永远只获得从“01”到“31”的日期字符串 我将永远只获得从“1000”到“9999”的年份字符串 我将永远只获得从“01”到“12”的月份字符串(永远不获得一月、二月等) 我知道SimpleDateFormat(format)可以在一定程度上起作用。 类似于:

  • 问题内容: 输出为: 1988年 1月25 日星期三00:00:08 IST 1989 我过去了,但我得到了。为什么? 问题答案: 日历中的月份从零开始。因此,将12解释为12月+ 1个月。用

  • 输出为: 1988 1989年1月25 00:00:08日星期三 我通过了1988年12月25日的考试,但我得到了1989年1月25日的考试。为什么?

  • 我需要一个解决方案来解决返回日(周一、周二…),当我输入诸如年,月,日期。