Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #18568

Date/Calendar confusion

Received by 10.224.189.75 with SMTP id dd11mr1039313qab.6.1346918585757; Thu, 06 Sep 2012 01:03:05 -0700 (PDT)
Received by 10.52.28.83 with SMTP id z19mr94467vdg.20.1346918585720; Thu, 06 Sep 2012 01:03:05 -0700 (PDT)
Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!news-out.readnews.com!transit4.readnews.com!209.85.216.88.MISMATCH!b19no87717qas.0!news-out.google.com!da15ni51772qab.0!nntp.google.com!b19no87713qas.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups comp.lang.java.programmer
Date Thu, 6 Sep 2012 01:03:05 -0700 (PDT)
Complaints-To groups-abuse@google.com
Injection-Info glegroupsg2000goo.googlegroups.com; posting-host=62.156.183.195; posting-account=6nLwcwoAAACyuDWy5iNg9hYCXPlbqduH
NNTP-Posting-Host 62.156.183.195
User-Agent G2/1.0
MIME-Version 1.0
Message-ID <3a69eb4a-f3c0-4b56-9a67-6833ccb2a1c8@googlegroups.com> (permalink)
Subject Date/Calendar confusion
From Ulrich Scholz <d7@thispla.net>
Injection-Date Thu, 06 Sep 2012 08:03:05 +0000
Content-Type text/plain; charset=ISO-8859-1
Xref csiph.com comp.lang.java.programmer:18568

Show key headers only | View raw


Dear all,

have a look at the function below (Java 5).  The first result is 0 as expected. But why is the second one different?

Thanks, Ulrich
 

private static void testDate() throws ParseException
    {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
        TimeZone timeZone = TimeZone.getTimeZone("GMT");
        timeZone.setRawOffset(0); // get GMT time zone for sure
        dateFormat.setTimeZone(timeZone);

        Calendar calendar1 = Calendar.getInstance(timeZone, Locale.US);
        Date date1 = dateFormat.parse("1970-01-01T00:00:00.000");
        calendar1.setTime(date1);
        System.out.println(calendar1.getTimeInMillis()); // is 0

        Calendar calendar2 = Calendar.getInstance(timeZone, Locale.US);
        Date date2 = dateFormat.parse("0000-00-00T00:00:00.000");
        calendar2.setTime(date2);

        // adjust for the epoch 01.01.1970
        //
        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);

        System.out.println(calendar2.getTimeInMillis()); // should be 0 but is -124335907200000
    }

Back to comp.lang.java.programmer | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Date/Calendar confusion Ulrich Scholz <d7@thispla.net> - 2012-09-06 01:03 -0700
  Re: Date/Calendar confusion nogales <nogales.manuel@gmail.com> - 2012-09-06 02:29 -0700
  Re: Date/Calendar confusion Lew <lewbloch@gmail.com> - 2012-09-06 10:21 -0700
  Re: Date/Calendar confusion "John B. Matthews" <nospam@nospam.invalid> - 2012-09-06 20:53 -0400
    Re: Date/Calendar confusion Lew <lewbloch@gmail.com> - 2012-09-07 11:01 -0700
      Re: Date/Calendar confusion "John B. Matthews" <nospam@nospam.invalid> - 2012-09-07 21:02 -0400
        Re: Date/Calendar confusion Lew <lewbloch@gmail.com> - 2012-09-07 18:44 -0700
          Re: Date/Calendar confusion "John B. Matthews" <nospam@nospam.invalid> - 2012-09-08 09:12 -0400
            Re: Date/Calendar confusion Lew <lewbloch@gmail.com> - 2012-09-08 16:51 -0700

csiph-web