计算没有星期六和星期日的日期+1?

时间:2013-06-22 14:20:58

标签: java android date web

我需要计算一个网站的日期。

    case R.id.menu_next:
        // Toast message
        Toast.makeText(this, "Morgen",
        Toast.LENGTH_SHORT).show();
        // Calculate Date
        Calendar cal=Calendar.getInstance();
        int currentDay=cal.get(Calendar.DAY_OF_MONTH);
        //Set the date to 1 day
        cal.set(Calendar.DAY_OF_MONTH, currentDay+1);
        // Set URL
        mWebview .loadUrl("http://divers.ommelandercollege.nl/webportalen/dagrooster.php?datum="+cal.getTime());
        setContentView(mWebview );
        break;

使用此代码,按下该按钮时,第二天将始终加载。 但问题是,当它是星期五或星期六,你按下它需要加载星期一的按钮,但它仍然在第二天加载。我该如何解决这个问题?

我需要在没有时间的情况下将日期转换为22-6-2013格式,因为网站需要: http://divers.ommelandercollege.nl/webportalen/dagrooster.php?datum=21-6-2013 (DD-MM-YYY)

2 个答案:

答案 0 :(得分:1)

在检查日期不是星期六或星期日时增加日期。 do-while循环将确保增量至少发生一次

do {
   cal.add(Calendar.DATE, 1);
} while (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || 
                cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY);

答案第二个问题:如何以这种格式输出日期:VRIJDAG 21 JUNI 2013,使用SimpleDateFormat

String outputDate = 
        new SimpleDateFormat("EEEE dd MMM yyyy").format(cal.getTime())

答案 1 :(得分:1)

int dayOfWeek=Calendar.get(Calendar.DAY_OF_WEEK);
if(dayOfWeek==Calendar.FRIDAY){
    cal.set(Calendar.DAY_OF_MONTH, currentDay+3);
}
else if(dayOfWeek==Calendar.SATURDAY){
    cal.set(Calendar.DAY_OF_MONTH, currentDay+2);
}
else{
    cal.set(Calendar.DAY_OF_MONTH, currentDay+1); 
}