java检查日期是否是本月的第一个星期日

时间:2011-08-09 15:47:42

标签: java android calendar

我一直在寻找和搜索这个问题。在使用JAVA Calendar类时,我真的很蠢。

请有人帮我展示如何获取当前时间的简单方法(在Android手机上)并检查是否是该月的第一个星期日。

//非常欢迎代码示例中的注释: - )

4 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:7)

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

答案 2 :(得分:6)

只需检查日期是否为星期日,日期是否小于8 ... 我确信有更好的方法,但这将是最简单的方法。

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){

}

还有一个cal.get(Calendar.WEEK_OF_MONTH)您可以用来进行比较,而不是检查dayOfMonth < 8 weekOfMonth == 0是否可以是1而不是0。

答案 3 :(得分: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
    }
}