Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中打印一周中的所有工作日_Java_Android_Date - Fatal编程技术网

Java 如何在android中打印一周中的所有工作日

Java 如何在android中打印一周中的所有工作日,java,android,date,Java,Android,Date,我想在点击按钮时显示一周中的所有日子。动作如下,例如假设月份是2013年2月,所以我第一次想显示这几天,点击按钮 3/11/2013, 4/11/2013, 5/11/2013, 6/11/2013, 7/11/2013, 8/11/2013, 9/11/2013 第二次点击按钮时,我想显示如下 10/11/2013, 11/11/2013, 12/11/2013, 13/11/2013, 14/11/2013, 15/11/2013, 16/11/2013 同样地,每次点击按钮,我都希望以

我想在点击按钮时显示一周中的所有日子。动作如下,例如假设月份是2013年2月,所以我第一次想显示这几天,点击按钮

3/11/2013, 4/11/2013, 5/11/2013, 6/11/2013, 7/11/2013, 8/11/2013, 9/11/2013
第二次点击按钮时,我想显示如下

10/11/2013, 11/11/2013, 12/11/2013, 13/11/2013, 14/11/2013, 15/11/2013, 16/11/2013
同样地,每次点击按钮,我都希望以这种格式显示其余的日子。因此,如何才能做到这一点,我已经尝试了这段代码,但它会显示

3/11/2013, 4/11/2013, 5/11/2013, 6/11/2013, 7/11/2013, 8/11/2013, 9/11/2013 
我用的代码

Calendar c = Calendar.getInstance();

// Set the calendar to monday of the current week
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

// Print dates of the current week starting on Monday
DateFormat df = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
for (int i = 0; i < 7; i++) 
{
    System.out.println(df.format(c.getTime()));
    c.add(Calendar.DAY_OF_MONTH, 1);
}
Calendar c=Calendar.getInstance();
//将日历设置为当前周的星期一
c、 设置(Calendar.DAY\u OF_WEEK,Calendar.SUNDAY);
//打印从星期一开始的当前星期的日期
DateFormat df=新的SimpleDataFormat(“dd/MM/yyyy”,Locale.US);
对于(int i=0;i<7;i++)
{
System.out.println(df.format(c.getTime());
c、 添加(日历日/月/日,1);
}

你的几乎就在那里了,只是添加了
c.add(Calendar.WEEK,OF,YEAR,WEEK)
根据输入参数增加周数

public static void getDaysOfWeek(int week) {
    Calendar c = Calendar.getInstance();
    // Set the calendar to monday of the current week
    c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
    c.add(Calendar.DATE, week * 7);
    // Print dates of the current week starting on Monday
    DateFormat df = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
    for (int i = 0; i < 7; i++) {
        System.out.println(df.format(c.getTime()));
        c.add(Calendar.DAY_OF_MONTH, 1);
    }
}
publicstaticvoid getDaysOfWeek(int-week){
Calendar c=Calendar.getInstance();
//将日历设置为当前周的星期一
c、 设置(Calendar.DAY\u OF_WEEK,Calendar.SUNDAY);
c、 添加(日历日期,第7周);
//打印从星期一开始的当前星期的日期
DateFormat df=新的SimpleDataFormat(“dd/MM/yyyy”,Locale.US);
对于(int i=0;i<7;i++){
System.out.println(df.format(c.getTime());
c、 添加(日历日/月/日,1);
}
}
使用上述方法获取一周中的天数。只需将0第一次传递给该方法,将1传递给下一次单击,依此类推。您将获得一周中相应的天数。

publicstaticvoidmain(String[]args){
public static void main(String[] args) {
    int next = 1;
    for(int i =0 ;i< 4 ;i++)
    weekOfGivenMonth(next++);
}

private static void weekOfGivenMonth(int weekNext) {

    Calendar c = Calendar.getInstance();

    c.set(Calendar.WEEK_OF_MONTH, weekNext);

    DateFormat df = new SimpleDateFormat("EEE dd/MM/yyyy");
    for (int i = 0; i < 7; i++) {
        System.out.println(df.format(c.getTime()));
        c.add(Calendar.DATE, 1);
    }

}
int next=1; 对于(int i=0;i<4;i++) weekOfGivenMonth(下一个++); } 私有静态void weekOfGivenMonth(int weekNext){ Calendar c=Calendar.getInstance(); c、 设置(日历周/月/周/周/周/下一周); DateFormat df=新的简化格式(“EEE dd/MM/yyyy”); 对于(int i=0;i<7;i++){ System.out.println(df.format(c.getTime()); c、 添加(日历日期,1); } }

试试这个我按照你的要求编辑的。我使用了loop,而不是您应该使用按钮来呼叫本月的第二周、第三周和第四周。

您做得对。。。只需制作参数化方法即可得到日历实例。并在每次单击同一实例的按钮时调用此方法。。。就是这样。你能告诉我怎么做吗…这对我很有帮助。你的代码工作起来很有魅力…但我唯一困惑的是,如何根据我传递给方法的周值知道下个月和上个月的开始时间。c.get(Calendar.month);我会给你一个日历月。获取此行前后的此值c.add(Calendar.WEEK,OF,YEAR,WEEK);。如果值相同,则为同一月份,如果不是,则为不同月份。