在android中,如果没有周六和周日,我如何获得一周中的所有日期名称和一周中的所有日期?

在android中,如果没有周六和周日,我如何获得一周中的所有日期名称和一周中的所有日期?,android,date,Android,Date,说明: 我想知道一周中哪一天的名字,以及一周中哪一天没有周六和周日。有什么方法可以满足我的要求吗 使用下面的代码,我得到了一周的所有日期 String[] days_si = new String[7]; for (int i = 0; i < 7; i++) { days_si[i] = format.format(calendar.getTime()); calendar.add(Calendar.DAY_OF_MONTH

说明: 我想知道一周中哪一天的名字,以及一周中哪一天没有周六和周日。有什么方法可以满足我的要求吗

使用下面的代码,我得到了一周的所有日期

String[] days_si = new String[7];
        for (int i = 0; i < 7; i++) {
            days_si[i] = format.format(calendar.getTime());
            calendar.add(Calendar.DAY_OF_MONTH, 1);
        }
        for (int i = 0; i < days_si.length; i++) {
            Log.i(TAG, "Days : " + days_si[i].toString());
        }
String[]days\u si=新字符串[7];
对于(int i=0;i<7;i++){
days_si[i]=format.format(calendar.getTime());
calendar.add(calendar.DAY/u/u月,1);
}
对于(int i=0;i

请帮我解决这个问题?

您应该研究提供的各种格式模式

例如:

DateFormat format = new SimpleDateFormat("u EEEE");
将为您提供如下输出:

Days : 7 Sunday
Days : 1 Monday...
根据您的需要尝试各种模式



关于要跳过周六和周日的部分:-您可以添加一个简单的
if
检查第一个
for
循环,查看
format()
方法返回的格式化字符串是否包含周六或周日字符串,如果是,不要将它们添加到字符串数组中。

在下面找到如何跳过某一天, 以及如何获取日名称(短或全)

String[]days\u si=新字符串[7];
对于(int i=0;i<7;i++){
//跳过星期六的
if(calendar.get(calendar.DAY\u OF_WEEK)=calendar.SATURDAY){
calendar.add(calendar.DAY/u/u月,1);
--i、 //此部分用于避免空数组项
继续;
}
//在您的格式模式中,使用EEE获取短日名称
//或者使用EEEE获取全名
days_si[i]=format.format(calendar.getTime());
calendar.add(calendar.DAY/u/u月,1);
}
对于(int i=0;i
**更多关于
--i//此部分用于避免空数组项
在迭代中,如果一天是星期六,则循环将跳过而不在
days\u si[i]
中添加值,这将导致一个空数组槽,因为下一个循环
i
将增加1,因此
days\u si[i-1]
将保持为空或为空

您可能需要一个包含2个属性的对象数组(自定义对象)
stringdateofday
stringnameofday
,使用此数组存储for循环中每个迭代的日期和日期名称

如果希望输出在一行中,例如:2016-07-19星期二,则跳过自定义对象部分

String[] days_si = new String[7];
for (int i = 0; i < 7; i++) {

    //skip SATURDAY's
    if(calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){
        calendar.add(Calendar.DAY_OF_MONTH, 1);
        --i; //THIS PART TO AVOID EMPTY ARRAY ITEMS
        continue;
    }

    //in your format pattern, use EEE to get short day name
    //or use EEEE to get full name
    days_si[i] = format.format(calendar.getTime());
    calendar.add(Calendar.DAY_OF_MONTH, 1);
}
for (int i = 0; i < days_si.length; i++) {
    Log.i(TAG, "Days : " + days_si[i].toString());
}