Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > Calendar and Date puzzling question...

Reply
Thread Tools

Calendar and Date puzzling question...

 
 
adam.balgach@gmail.com
Guest
Posts: n/a
 
      10-17-2006
So I am trying to take a Date object and convert it into a calendar for
use in my application, the code looks like: The string _s comes in in
the format YYYY-MM-DD this i am 100% sure of



public CalendarInfo(String _s) {
DateFormat _formatter = new SimpleDateFormat("yyyy-MM-dd");
try {
_date = _formatter.parse(_s);
_calendar = new GregorianCalendar();
_calendar.clear();
_calendar.setTime(_date);
_log.log_error(_class, "CalendarInfo():
"+_calendar.toString());
_log.log_warning(_class, ""+_calendar.YEAR);
_log.log_warning(_class, ""+_calendar.MONTH);
_log.log_warning(_class,
""+_calendar.DAY_OF_MONTH);
}
catch (java.text.ParseException Ex) {
_log.log_error(_class, "CalendarInfo(): Bad Parse: "+Ex);
}
}



So what i am doing is passing in a string formatted as "2006-10-12" and
converting it to a calendar and this is the results i get:

[ 10-17-2006 15:11:41 Calendar.CalendarInfo ] ERROR: CalendarInfo():
java.util.GregorianCalendar[time=1160625600000,areFieldsSet=true,areAllFieldsS et=true,lenient=true,zone=sun.util.calendar.ZoneIn fo[id="America/New_York",offset=-18000000,dstSavings=3600000,useDaylight=true,trans itions=235,lastRule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000000,dstSavings=3600000,useDaylight=true,start Year=0,startMode=3,startMonth=2,startDay=8,startDa yOfWeek=1,startTime=7200000,startTimeMode=0,endMod e=3,endMonth=10,endDay=1,endDayOfWeek=1,endTime=72 00000,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,Y EAR=2006,MONTH=9,WEEK_OF_YEAR=41,WEEK_OF_MONTH=2,D AY_OF_MONTH=12,DAY_OF_YEAR=285,DAY_OF_WEEK=5,DAY_O F_WEEK_IN_MONTH=2,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MIN UTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-18000000,DST_OFFSET=3600000]
[ 10-17-2006 15:11:41 Calendar.CalendarInfo ] WARNING: 5
[ 10-17-2006 15:11:41 Calendar.CalendarInfo ] WARNING: 2
[ 10-17-2006 15:11:41 Calendar.CalendarInfo ] WARNING: 1


as you can see from the _calendar.toString() call, it clearly shows the
object year=2006, month=9, day=12
but when i call the direct Calendar.YEAR/MONTH/DAY_OF_MONTH i get
these weird results.

what is up with that? anyone have any clue? Thanks!

 
Reply With Quote
 
 
 
 
Andreas Wollschlaeger
Guest
Posts: n/a
 
      10-17-2006
http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:
> So I am trying to take a Date object and convert it into a calendar for
> use in my application, the code looks like: The string _s comes in in
> the format YYYY-MM-DD this i am 100% sure of
>
>
>
> public CalendarInfo(String _s) {
> DateFormat _formatter = new SimpleDateFormat("yyyy-MM-dd");
> try {
> _date = _formatter.parse(_s);
> _calendar = new GregorianCalendar();
> _calendar.clear();
> _calendar.setTime(_date);
> _log.log_error(_class, "CalendarInfo():
> "+_calendar.toString());
> _log.log_warning(_class, ""+_calendar.YEAR);
> _log.log_warning(_class, ""+_calendar.MONTH);
> _log.log_warning(_class,
> ""+_calendar.DAY_OF_MONTH);
> }
> catch (java.text.ParseException Ex) {
> _log.log_error(_class, "CalendarInfo(): Bad Parse: "+Ex);
> }
> }
>
>
>
> So what i am doing is passing in a string formatted as "2006-10-12" and
> converting it to a calendar and this is the results i get:
>
> [ 10-17-2006 15:11:41 Calendar.CalendarInfo ] ERROR: CalendarInfo():
> java.util.GregorianCalendar[time=1160625600000,areFieldsSet=true,areAllFieldsS et=true,lenient=true,zone=sun.util.calendar.ZoneIn fo[id="America/New_York",offset=-18000000,dstSavings=3600000,useDaylight=true,trans itions=235,lastRule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000000,dstSavings=3600000,useDaylight=true,start Year=0,startMode=3,startMonth=2,startDay=8,startDa yOfWeek=1,startTime=7200000,startTimeMode=0,endMod e=3,endMonth=10,endDay=1,endDayOfWeek=1,endTime=72 00000,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,Y EAR=2006,MONTH=9,WEEK_OF_YEAR=41,WEEK_OF_MONTH=2,D AY_OF_MONTH=12,DAY_OF_YEAR=285,DAY_OF_WEEK=5,DAY_O F_WEEK_IN_MONTH=2,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MIN UTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-18000000,DST_OFFSET=3600000]
> [ 10-17-2006 15:11:41 Calendar.CalendarInfo ] WARNING: 5
> [ 10-17-2006 15:11:41 Calendar.CalendarInfo ] WARNING: 2
> [ 10-17-2006 15:11:41 Calendar.CalendarInfo ] WARNING: 1
>
>
> as you can see from the _calendar.toString() call, it clearly shows the
> object year=2006, month=9, day=12
> but when i call the direct Calendar.YEAR/MONTH/DAY_OF_MONTH i get
> these weird results.
>
> what is up with that? anyone have any clue? Thanks!
>


RTFM - try calendar.get(Calendar.YEAR) et al.
Admittely, this is one of Suns more bizarre APIS, so this is easy to
dismiss for first time users...

HTH
Andreas
 
Reply With Quote
 
 
 
 
adam.balgach@gmail.com
Guest
Posts: n/a
 
      10-17-2006
thanks!

never thought to try that.


Andreas Wollschlaeger wrote:
> (E-Mail Removed) wrote:
> > So I am trying to take a Date object and convert it into a calendar for
> > use in my application, the code looks like: The string _s comes in in
> > the format YYYY-MM-DD this i am 100% sure of
> >
> >
> >
> > public CalendarInfo(String _s) {
> > DateFormat _formatter = new SimpleDateFormat("yyyy-MM-dd");
> > try {
> > _date = _formatter.parse(_s);
> > _calendar = new GregorianCalendar();
> > _calendar.clear();
> > _calendar.setTime(_date);
> > _log.log_error(_class, "CalendarInfo():
> > "+_calendar.toString());
> > _log.log_warning(_class, ""+_calendar.YEAR);
> > _log.log_warning(_class, ""+_calendar.MONTH);
> > _log.log_warning(_class,
> > ""+_calendar.DAY_OF_MONTH);
> > }
> > catch (java.text.ParseException Ex) {
> > _log.log_error(_class, "CalendarInfo(): Bad Parse: "+Ex);
> > }
> > }
> >
> >
> >
> > So what i am doing is passing in a string formatted as "2006-10-12" and
> > converting it to a calendar and this is the results i get:
> >
> > [ 10-17-2006 15:11:41 Calendar.CalendarInfo ] ERROR: CalendarInfo():
> > java.util.GregorianCalendar[time=1160625600000,areFieldsSet=true,areAllFieldsS et=true,lenient=true,zone=sun.util.calendar.ZoneIn fo[id="America/New_York",offset=-18000000,dstSavings=3600000,useDaylight=true,trans itions=235,lastRule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000000,dstSavings=3600000,useDaylight=true,start Year=0,startMode=3,startMonth=2,startDay=8,startDa yOfWeek=1,startTime=7200000,startTimeMode=0,endMod e=3,endMonth=10,endDay=1,endDayOfWeek=1,endTime=72 00000,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,Y EAR=2006,MONTH=9,WEEK_OF_YEAR=41,WEEK_OF_MONTH=2,D AY_OF_MONTH=12,DAY_OF_YEAR=285,DAY_OF_WEEK=5,DAY_O F_WEEK_IN_MONTH=2,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MIN UTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-18000000,DST_OFFSET=3600000]
> > [ 10-17-2006 15:11:41 Calendar.CalendarInfo ] WARNING: 5
> > [ 10-17-2006 15:11:41 Calendar.CalendarInfo ] WARNING: 2
> > [ 10-17-2006 15:11:41 Calendar.CalendarInfo ] WARNING: 1
> >
> >
> > as you can see from the _calendar.toString() call, it clearly shows the
> > object year=2006, month=9, day=12
> > but when i call the direct Calendar.YEAR/MONTH/DAY_OF_MONTH i get
> > these weird results.
> >
> > what is up with that? anyone have any clue? Thanks!
> >

>
> RTFM - try calendar.get(Calendar.YEAR) et al.
> Admittely, this is one of Suns more bizarre APIS, so this is easy to
> dismiss for first time users...
>
> HTH
> Andreas


 
Reply With Quote
 
Daniel Dyer
Guest
Posts: n/a
 
      10-17-2006
On Tue, 17 Oct 2006 20:54:57 +0100, Andreas Wollschlaeger
<postmaster@1.0.0.172.in-addr.arpa> wrote:

> RTFM - try calendar.get(Calendar.YEAR) et al.
> Admittely, this is one of Suns more bizarre APIS, so this is easy to
> dismiss for first time users...


I believe we have IBM to thank for this particular contribution to the
standard libraries.

Dan.

--
Daniel Dyer
http://www.uncommons.org
 
Reply With Quote
 
Tom Forsmo
Guest
Posts: n/a
 
      10-18-2006


Daniel Dyer wrote:
> On Tue, 17 Oct 2006 20:54:57 +0100, Andreas Wollschlaeger
> <postmaster@1.0.0.172.in-addr.arpa> wrote:
>
>> RTFM - try calendar.get(Calendar.YEAR) et al.
>> Admittely, this is one of Suns more bizarre APIS, so this is easy to
>> dismiss for first time users...

>
> I believe we have IBM to thank for this particular contribution to the
> standard libraries.


I hate dates and calendars in Java. I remember having to deal with dates
and calendars on a project a few months ago. I almost never work with
dates, so I didn't remember much about it. I had to go back to the java
book and read up on it because the api is really badly designed. And
even then it took me some extra time to actually get it working correctly.

tom

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Puzzling file date taken entry Terry Pinnell Digital Photography 1 12-02-2005 10:37 AM
Calendar Date-Picker can't find date field (X,Y) randomblink@yahoo.com Javascript 0 01-03-2005 05:59 PM
Calendar Control - Programatically set the calendar to a date range Shevek ASP .Net 3 06-23-2004 01:41 PM
Calendar Control - Programatically set the calendar to a date range Shevek ASP .Net Web Controls 0 06-23-2004 12:06 PM
Date, date date date.... Peter Grison Java 10 05-30-2004 01:20 PM



Advertisments