2011-08-09 17 views
4

私はこの質問を探して多く探しています。 JAVA Calendarクラスの使用については、私は本当にばかげています。月が最初の日曜日かどうかを確認する

(Android携帯で)現在の時間を取得し、月の最初の日曜日かどうかを確認する簡単な方法を誰かに教えてください。日が日曜日で、日付が8未満... であれば、私はより良い方法があると確信している場合

//コード例でコメントは非常に歓迎:-)

+0

の第1日曜日であれば、あなただけの現在の時間、私はそれで 'のSystem.currentTimeMillis()'初期化した日付やカレンダーをやって得ることができるので、それがJavaの参照するには。または単に 'new java.util.Date()'や 'Calendar.getInstance()'を実行してください。 – Ali

答えて

6
Calendar cal = Calendar.getInstance(); 
if (Calendar.SUNDAY == cal.get(Calendar.DAY_OF_WEEK) && cal.get(Calendar.DAY_OF_MONTH) <= 7) 
+0

ありがとうございました!私は<= 7を使用する考えがありましたが、曜日名を取得する方法については不明でした。 – Norfeldt

6

ているだけでチェックし、しかし、これは最も簡単です。

Calendar cal = Calendar.getInstance(); 
cal.setDate(myDate); 
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); 
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH); 
if(dayOfWeek == Calendar.SUNDAY && dayOfMonth < 8){ 

} 

dayOfMonth < 8がちょうどweekOfMonth == 0を行う場合は、代わりにチェックするの比較のために使用することができcal.get(Calendar.WEEK_OF_MONTH)は1ではなく0

+1

'WEEK_OF_MONTH'には注意が必要です。' WEEK_OF_YEAR'ルールの影響を受けるように見えます。予期しない結果が生じる。つまり、1週間のうち十分な日数がない場合は、実際には*前の月の一部です(週の始まりが日曜日ではないと仮定します)。これは地域に依存するので、私はその日のバージョンに固執します。 –

7

可能性があり、私はいくつかの説明を追加することを考えましたが、このコードはかなり自己です説明...

Calendar rightNow = Calendar.getInstance(); 
int weekDay = rightNow.get(Calendar.DAY_OF_WEEK); 
int monthDay = rightNow.get(Calendar.DAY_OF_MONTH); 
if ((weekDay == Calendar.SUNDAY) && (monthDay <8)) { 
    // first sunday of this month 
} 
+2

また、 'Calendar.DAY_OF_MONTH'の代わりに' Calendar.WEEK_OF_MONTH'を使用することもできます。 – Ali

+0

@Ali - 私はそれを認識していませんでした。ありがとうございました! – MByD

+0

@Ali - 週の最初の日以降は解決策ではありません。これはあなたのロケールに依存します。つまり、2週間目の月の最初の日曜日を持つことができます。 – njzk2

0

この電流時間の使用を取得するには:

Calendar now = Calendar.getInstance(); 
int hour = now.get(Calendar.HOUR_OF_DAY); 
int minutes = now.get(Calendar.MINUTE)); 

今日は月使用

Calendar now = Calendar.getInstance(); 
int day = now.get(Calendar.DAY_OF_WEEK); 
if (day == Calendary.Sunday) // today is a Sunday 
{ 
    int day_num = now.get(Calendar.DAY_OF_MONTH); 
    if (day_num <= 7) // the day number is within the 1st 7 days of the month 
    { 
     // this is the 1st sunday in the month 
    } 
} 
関連する問題