java.util.Date

A Date object represents a precise moment in time, down to the millisecond. Dates are represented as a long that counts the number of milliseconds since midnight, January 1, 1970, Greenwich Mean Time.

Does this have a year 2000 problem? If so in what year?

To create a Date object for the current date and time use the noargs Date() constructor like this:

Date now = new Date();

To create a Date object for a specific time, pass the number of milliseconds since midnight, January 1, 1970, Greenwich Meantime to the constructor, like this:

Date midnight_jan2_1970 = new Date(24L*60L*60L*1000L);

You can return the number of milliseconds in the Date as a long, using the getTime() method. For example, to time a block of code, you might do this

Date d1 = new Date();
// timed code goes here
Date d2 = new Date();
long elapsed_time = d2.getTime() - d1.getTime();
System.out.println("That took " + elapsed_time + " milliseconds");

You can change a Date by passing the new date as a number of milliseconds since midnight, January 1, 1970, GMT, to the setTime() method, like this:

Date midnight_jan2_1970 = new Date();
midnight_jan2_1970.setTime(24L*60L*60L*1000L);

The before() method returns true if this Date is before the Date argument, false if it's not. For example

if (midnight_jan2_1970.before(new Date())) {

The after() method returns true if this Date is after the Date argument, false if it's not. For example

if (midnight_jan2_1970.after(new Date())) {

The Date class also has the usual hashCode(), equals(), and toString() methods.


Previous | Next | Top | Cafe au Lait

Copyright 1997 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified July 24, 1997