dag*_*agw 29 java calendar date
我正在尝试做一些非常简单的事情,但是开始意识到Java中的日期有点像雷区.我想要的是通过三个整数组(一年,一个月和一个日期)创建一些Date对象,对它们做一些简单的测试(沿着日期B之前的日期B和1990年1月1日之后的行),转换它们java.sql.Date通过JDBC传递给对象并传递给数据库.
一切都非常简单,使用java.util.Date(int year,int month,int day)构造函数工作正常.当然这个构造函数是折旧的,我想避免在我写的新代码中使用折旧调用.然而,解决这个简单问题的所有其他选项似乎都很愚蠢.没有使用折旧的构造函数,真的没有简单的方法可以做我想做的事情吗?
我知道所有Java日期相关问题的标准答案是"使用joda时间",但我真的不想开始在第三方库中找到这样一个看似微不足道的问题.
Joã*_*lva 41
想法是使用Calendar类,如下所示:
Calendar cal = Calendar.getInstance();
cal.set(year, month, date);
Date date = cal.getTime();
Run Code Online (Sandbox Code Playgroud)
实际上,如果你检查你提到的构造函数的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).
Run Code Online (Sandbox Code Playgroud)
或者......使用JodaTime :-).