FileDocCategorySizeDatePackage
Date.javaAPI DocJ2ME CLDC 1.16166Wed Feb 05 15:56:00 GMT 2003java.util

Date

public class Date extends Object
The class Date represents a specific instant in time, with millisecond precision.

This class has been subset for the J2ME based on the JDK 1.3 Date class. Many methods and variables have been pruned, and other methods simplified, in an effort to reduce the size of this class.

Although the Date class is intended to reflect coordinated universal time (UTC), it may not do so exactly, depending on the host environment of the Java Virtual Machine. Nearly all modern operating systems assume that 1 day = 24x60x60 = 86400 seconds in all cases. In UTC, however, about once every year or two there is an extra second, called a "leap second." The leap second is always added as the last second of the day, and always on December 31 or June 30. For example, the last minute of the year 1995 was 61 seconds long, thanks to an added leap second. Most computer clocks are not accurate enough to be able to reflect the leap-second distinction.

see
java.util.TimeZone
see
java.util.Calendar
version
CLDC 1.1 03/13/2002 (Based on JDK 1.3)
author
James Gosling, Roger Riggs, Brian Modra Kinsley Wong, Antero Taivalsaari

Fields Summary
private Calendar
calendar
private long
fastTime
Constructors Summary
public Date()
Allocates a Date object and initializes it to represent the current time specified number of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT.

see
java.lang.System#currentTimeMillis()

        this(System.currentTimeMillis());
    
public Date(long date)
Allocates a Date object and initializes it to represent the specified number of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT.

param
date the milliseconds since January 1, 1970, 00:00:00 GMT.
see
java.lang.System#currentTimeMillis()

        calendar = Calendar.getInstance();
        if (calendar != null) {
            calendar.setTimeInMillis(date);
        }
        fastTime = date;
    
Methods Summary
public booleanequals(java.lang.Object obj)
Compares two dates for equality. The result is true if and only if the argument is not null and is a Date object that represents the same point in time, to the millisecond, as this object.

Thus, two Date objects are equal if and only if the getTime method returns the same long value for both.

param
obj the object to compare with.
return
true if the objects are the same; false otherwise.
see
java.util.Date#getTime()

        return obj != null && obj instanceof Date && getTime() == ((Date) obj).getTime();
    
public longgetTime()
Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.

return
the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this date.
see
#setTime

        if (calendar != null) {
            return calendar.getTimeInMillis();
        } else {
            return fastTime;
        }
    
public inthashCode()
Returns a hash code value for this object. The result is the exclusive OR of the two halves of the primitive long value returned by the {@link Date#getTime} method. That is, the hash code is the value of the expression:
(int)(this.getTime()^(this.getTime() >>> 32))

return
a hash code value for this object.

        long ht = getTime();
        return (int)ht ^ (int)(ht >> 32);
    
public voidsetTime(long time)
Sets this Date object to represent a point in time that is time milliseconds after January 1, 1970 00:00:00 GMT.

param
time the number of milliseconds.
see
#getTime

        if (calendar != null) {
            calendar.setTimeInMillis(time);
        }
        fastTime = time;
    
public java.lang.StringtoString()
Converts this Date object to a String of the form:
dow mon dd hh:mm:ss zzz yyyy
where:
  • dow is the day of the week (Sun, Mon, Tue, Wed, Thu, Fri, Sat).
  • mon is the month (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec).
  • dd is the day of the month (01 through 31), as two decimal digits.
  • hh is the hour of the day (00 through 23), as two decimal digits.
  • mm is the minute within the hour (00 through 59), as two decimal digits.
  • ss is the second within the minute (00 through 61, as two decimal digits.
  • zzz is the time zone (and may reflect daylight savings time). If time zone information is not available, then zzz is empty - that is, it consists of no characters at all.
  • yyyy is the year, as four decimal digits.

return
a string representation of this date.
since
CLDC 1.1

         return com.sun.cldc.util.j2me.CalendarImpl.toString(calendar);