当前位置: 首页 > 面试题库 >

替换java.util.Date(year,month,day)的公认方法是什么

祁雪峰
2023-03-14
问题内容

我正在尝试做一些非常简单的事情,但是开始意识到Java中的日期有点雷区。我想要的是让三个整数(一年,一个月和一个日期)通过的组创建一些Date对象,对其进行一些简单的html" target="_blank">测试(沿着日期B之前的日期A和1990年1月1日之后的行A)将它们java.sql.Date传递给对象,然后通过JDBC将其传递给数据库。

一切都非常简单,并且可以使用java.util.Date(int year,int month,int day)构造函数正常运行。当然,该构造函数已弃用,我想避免在正在编写的新代码中使用已弃用的调用。但是,解决这个简单问题的所有其他选择似乎都非常复杂。如果不使用折旧的构造函数,真的有没有简单的方法可以执行我想要的操作?

我知道所有与Java日期有关的问题的标准答案都是“使用joda时间”,但是我真的不想开始针对此类看似微不足道的问题引入第三方库。


问题答案:

想法是使用Calendar类,如下所示:

Calendar cal = Calendar.getInstance();
cal.set(year, month, date);
Date date = cal.getTime();

的确,如果您检查所提到的构造函数的Javadoc
,则完全是建议的内容:

Date(int year, int month, int date)
          Deprecated. As of JDK version 1.1, replaced by Calendar.set(year + 1900, month, date) or GregorianCalendar(year + 1900, month, date).

或者…使用JodaTime :-)。



 类似资料:
  • 问题内容: 我想执行一个在本机SQL中看起来像这样的查询: 如果我想像这样在Doctrine的查询生成器中实现这一点: 我收到错误异常 [语法错误]第0行,第63行:错误:预期的已知功能,获取了’YEAR’ 如何使用Doctrines查询构建器实现查询? 笔记: 我知道Doctrine的Native SQL。我已经尝试过了,但是这导致了我的生产数据库表和开发数据库表使用不同名称的问题。我想与数据库

  • 问题内容: 在: 当然,在Java 1.1中,不赞成使用方法和类似方法,而推荐使用,但仍然具有以下怪异的弃用说明: 当然,Month是基于-的,但我们都知道(尽管您认为他们已经从中消除了这个问题-他们没有): 我的问题是: 最初的创建者希望通过从中减去1900来存储“年”的数据而获得什么呢?特别是如果它基本上存储了很长时间。 因此: 为什么是 1900年 ? 问题答案: 基本上,原始的java.u

  • 问题内容: 如何像SQL查询一样使用函数编写JPA 查询? 当我使用上述模式进行查询时,出现错误:。 问题答案: 如果使用的是EclipseLink(2.1),则可以使用FUNC()函数来调用JPA JPQL规范中未定义的任何数据库函数。 即FUNC(’MONTH’,c_Date) 在JPA 2.1(EclipseLink 2.5)中,FUNCTION语法成为规范的一部分(并替代了EclipseL

  • 问题内容: 如果我创建一个新的Date()对象。它将打印的默认时区是什么。 我的机器在GMT中运行。我正在创建一个新的Date()对象。如果我打印为什么它显示周四7月5日8时21分05秒 PKT 2012年它是如何花费的时区为PKT? 问题答案: 日期本身没有任何时区。它的方法使用当前的默认时区返回表示该日期的字符串: 在我的机器上执行上述代码会导致以下输出:

  • 问题内容: 我在Java中有一个Date对象,它存储为Java的Date类型。 我也有一个公历创建日期。阳历日期没有参数,因此是今天日期(和时间?)的一个实例。 使用Java日期,我希望能够从Java日期类型中获取年,月,日,小时,分钟和秒,并比较gregoriancalendar日期。 我看到,目前Java日期存储为long,唯一可用的方法似乎只是将long写为格式化的日期字符串。是否可以访问年

  • 我有Maven应用程序,具有3个不同的配置文件,如下所示 我有这样的Maven结构: src/main/config/default/WEB-INF/WEB。xml src/main/config/dev/WEB-INF/WEB。xml src/main/config/test/WEB-INF/web.xml src/main/config/prod/WEB-INF/web.xml src/mai