Re: Date/Calendar confusion
In article <3a69eb4a-f3c0-4b56-9a67-6833ccb2a1c8@googlegroups.com>,
Ulrich Scholz <d7@thispla.net> wrote:
calendar2.set(Calendar.YEAR, calendar2.get(Calendar.YEAR) + 1970);
calendar2.set(Calendar.MONTH, calendar2.get(Calendar.MONTH) + 1);
calendar2.set(Calendar.DAY_OF_MONTH,
calendar2.get(Calendar.DAY_OF_MONTH) + 1);
Note that Calendar.JANUARY is not 1. Use clear() to set some or all
fields to a known (undefined, !isSet()) state.
public static void main(String[] args) {
TimeZone timeZone = TimeZone.getTimeZone("GMT");
SimpleDateFormat f = new SimpleDateFormat(
"yyyy-MMM-dd HH:mm:ss.SSS Z");
Calendar calendar1 = Calendar.getInstance(timeZone);
System.out.println(f.format(calendar1.getTime()));
calendar1.clear();
System.out.println(calendar1.getTimeInMillis()); // 0
Calendar calendar2 = Calendar.getInstance(timeZone);
System.out.println(f.format(calendar2.getTime()));
calendar2.set(Calendar.YEAR, 1970);
calendar2.set(Calendar.MONTH, Calendar.JANUARY);
calendar2.set(Calendar.DAY_OF_MONTH, 1);
calendar2.clear(Calendar.HOUR);
calendar2.clear(Calendar.MINUTE);
calendar2.clear(Calendar.SECOND);
calendar2.clear(Calendar.MILLISECOND);
System.out.println(calendar2.getTimeInMillis()); // 0
}
--
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>