Solved

date for months

Posted on 2004-09-20
7
253 Views
Last Modified: 2010-03-31
given a month and year as string(say "September 2004"), i want to return an arraylist from 01.09.2004 till 30.09.2004

Thanks
0
Comment
Question by:sangeetha
7 Comments
 
LVL 37

Expert Comment

by:zzynx
ID: 12101174
>> arraylist from 01.09.2004 till 30.09.2004
Do you want an arraylist of Strings or of Dates?
0
 
LVL 2

Author Comment

by:sangeetha
ID: 12101194
i think anything is Ok...

request.setAttribute("dates", getDatum("September", "2004"));

................
................

private static ArrayList getDatum(String month, String year) {
            
            ArrayList list = new ArrayList();
            
                          // What to do here?
            
            return list;
            
      }
am i right?
0
 
LVL 37

Expert Comment

by:zzynx
ID: 12101224
By heart (so not guaranteed without typos):

List arrayList = new ArrayList();


SimpleDateFormat fmt = SimpleDateFormat("dd MMMM yyyy");
Date d = fmt.parse("1 " + month + " " + year);

Calendar cal = Calendar.getInstance();
cal.setTime(d);

boolean stop = false;

int thisMonth = cal.get(Calendar.MONTH);
while (!stop) {
   arrayList.add( cal.getTime() );
   cal.add(Calendar.DATE, 1);
   stop = ( thisMonth!=cal.get(Calendar.MOHTH) )
}

return arrayList;
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 35

Accepted Solution

by:
TimYates earned 25 total points
ID: 12101237
   String str = "September 2004" ;
    SimpleDateFormat sdf = new SimpleDateFormat( "MMMMM yyyy" ) ;
    SimpleDateFormat sdf2 = new SimpleDateFormat( "dd.MM.yyyy" ) ;
    sdf.setLenient( true );
    Date month = sdf.parse( str ) ;
    Calendar cal = Calendar.getInstance() ;
    cal.setTime( month );
    int curr = cal.get( Calendar.MONTH ) ;
    int next = curr ;
    ArrayList al = new ArrayList() ;
    while( next == curr )
    {
      al.add( sdf2.format( cal.getTime() ) ) ;
      cal.roll( Calendar.DAY_OF_YEAR, true );
      next = cal.get( Calendar.MONTH ) ;
    }
    for( int i = 0 ; i < al.size() ; i++ )
      System.out.println( al.get( i ) ) ;
0
 
LVL 13

Expert Comment

by:Webstorm
ID: 12101278
Hi sangeetha,


static final String[] month={"january","february","march","april","may","june",
                         "july","august","september","october","november","december"};

private static int getMonth(String s)
{
    for (int i=0;i<month.length;i++)
       if (month[i].equalsIgnoreCase(s)) return i+1;
    return -1;
}

private static int lm(int m,int a)
{
     m=(m+9)%12;
     if (m<11) return 31-((m^(m/5))&1);
     else return ( ((a%4)==0)&&( ((a%100)!=0) || ((a%400)==0) ) )?29:28;
}

private static String len2(int n)
{
     String t="0"+n;
     return t.substring(t.length()-2);
}

private static ArrayList getDatum(String month, String year) {

          int m=getMonth(month);
          if (m<0) return null; // invalid month name

          ArrayList list = new ArrayList();

          int len_month=lm(m,year);
          for (int d=1;d<=len_month;d++)
               list.add(len2(d)+"."+len2(m)+"."+year);
 
          return list;
         
     }
0
 
LVL 13

Expert Comment

by:Webstorm
ID: 12101284
private static ArrayList getDatum(String month, String year) {

should be:

private static ArrayList getDatum(String month, String s_year) {
    int year=Integer.parseInt(s_year);
 
0
 
LVL 37

Expert Comment

by:zzynx
ID: 12101485
Can you tell me what's wrong with my comment?
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
ForLoop Example 3 52
Custom Java Application connects to database: Which one of the 20? 4 35
Configure a Bean in an XML file 4 42
Java class and jar 3 20
An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question