2012-03-01 5 views
0

たとえば、入力パラメータは2011-01-01と2012-01-01、 で、2011-01-01〜2011-01-02、2011-01-02のようにこの期間を日々解析したいとします。 〜2011-01-03 ... 最後に、それらを文字列の配列に格納しますか?Javaで日時をString []に解析するにはどうすればよいですか?

ありがとうございます。

+1

私はあなたが何を求めているのか分かりません - 詳細を提供し、これまでのコードを表示することはできますか? – Tim

答えて

2

文字列から日付を解析するには、SimpleDateFormatを使用することをおすすめします。

このようにしてDateオブジェクトを取得します。 Dateオブジェクトを使用してGregorianCalendarを作成します。

次に、GregorianCalendarのaddメソッドを使用して、終了日に達するまで一度に1日増やすことができます。ここで

はコードの例です:

String dateString1 = "2011-01-01"; 
String dateString2 = "2012-01-01"; 

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 

List<String> dates = new ArrayList<String>(); 

Date startDate = dateFormat.parse(dateString1); 
Date endDate = dateFormat.parse(dateString2); 

GregorianCalendar calendar = new GregorianCalendar(); 
calendar.setTime(startDate); 
while (calendar.getTime().before(endDate)) { 
    dates.add(dateFormat.format(calendar.getTime())); 
    calendar.add(Calendar.DAY_OF_MONTH, 1); 
} 

これはリストにあなたの日付を置きます。

2

実際に受諾率で作業する必要があります。しかし、基本的な方法は次のように行くだろう:

擬似コードを:

Date first = "2011-01-01"; 
Date last = "2012-01-01"; 
Calendar cal = new Calendar(first); 
List<Date> dates = ...; 

while (first.before(last)) { 
    cal.addDays(1); 
    dates.add(cal);  
} 

これはGregorianCalendarを使用して実装するのは本当に簡単なはずです、またはあなたがこの簡単の全体の多くなるだろうjoda-timeをチェックアウトすることができます。 ..

関連する問題