Creating Dates with Calendar


You still receive deprecation warnings each time you compile. Bad, bad. You should get rid of the warnings before someone complains. The benefit of having moved the date creation into a separate method, createDate, is that now you will only have to make a change in one place in your code, instead of two, to eliminate the warnings.

Instead of creating a Date object using the deprecated constructor, you will use the GregorianCalendar class. You can build a date or timestamp from its constituent parts by using the set method defined in Calendar. The API documentation for Calendar lists the various date parts that you can set. The createDate method builds a date by supplying a year, a month, and a day of the month.

 Date createDate(int year, int month, int date) {    GregorianCalendar calendar = new GregorianCalendar();    calendar.clear();    calendar.set(Calendar.YEAR, year);    calendar.set(Calendar.YEAR, year);    calendar.set(Calendar.MONTH, month - 1);    calendar.set(Calendar.DAY_OF_MONTH, date);    return calendar.getTime(); } 

The GregorianCalendar is a bit more sensible than Date in that a year is a year. If the real year is 2005, you can pass 2005 to the calendar object instead of 105.

You will need to modify the import statements in CourseSessionTest in order to compile and test these changes. The simplest way is to import everything from the java.util package:

 import java.util.*; 

Compile and test. Congratulationsno more embarrassing deprecation warnings!



Agile Java. Crafting Code with Test-Driven Development
Agile Javaв„ў: Crafting Code with Test-Driven Development
ISBN: 0131482394
EAN: 2147483647
Year: 2003
Pages: 391
Authors: Jeff Langr

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net