Java 如何在android中打印一周中的所有工作日
我想在点击按钮时显示一周中的所有日子。动作如下,例如假设月份是2013年2月,所以我第一次想显示这几天,点击按钮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 同样地,每次点击按钮,我都希望以
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);。如果值相同,则为同一月份,如果不是,则为不同月份。