• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Question about the day-of-week in GregorianCalendar

 
Kaydell Leavitt
Ranch Hand
Posts: 690
Eclipse IDE Firefox Browser Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have the following code which works except that the day-of-the-week is coming out wrong.



Here is the output that I am getting:


[ April 12, 2008: Message edited by: Kaydell Leavitt ]
 
Campbell Ritchie
Sheriff
Pie
Posts: 49813
69
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Please go through the Calendar constructors and API. The problem might be that 0=JANUARY and 1=FEBRUARY so it may be interpreting 4 as MAY.
 
Rob Spoor
Sheriff
Pie
Posts: 20610
63
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
With java.text.DateFormatSymbols you can let the JVM do the naming part for you, and even locale specific.

For example:

You can switch the language easily, by using a different locale, such as
Locale.FRENCH
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15441
41
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Why do you think that day-of-the-week is wrong; what did you expect, and how is the actual output different from what you expect?
 
Jhakda Velu
Ranch Hand
Posts: 167
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi
Campbell is right.
0 represents Jan,so 4 will represent May.
When you pass 2008,4,11 to teh constructor, it has taken it as May 11,2008, which happens to be a Sunday
You have written your own method to get the Month and Day . So you output the Month as April, based on the case statement (case 1 is Jan to you). When you want to get the Day,in the case statement, you have written as CALENDAR.SUNDAY as Sunday and so on.


Jhakda
 
Rob Spoor
Sheriff
Pie
Posts: 20610
63
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Please note the inconsistency in the Calendar API: weekdays start at 1 (Calendar.SUNDAY) whereas months start at 0 (Calendar.JANUARY). That's why it is always a wise idea to use the constants instead of hard coded values like 4.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic