Calendar cal = new GregorianCalendar(); int curDay = cal.get(Calendar.DAY_OF_WEEK); //因为DAY_OF_WEEK==1是周日,以下不正确.好象要弄个判断来写的,自己动手吧:) Calendar monday = cal.add(0-curDay , Calendar.DATE); Calendar sunday= cal.add(7-curDay , Calendar.DATE);
//我给你写了个通用的,随便输入日期都可以 //如果不想用GregorianCalendar,改为Calendar也类似import java.util.GregorianCalendar; import java.util.Calendar; class Test { int monday; int sunday;
GregorianCalendar gc ; Test( int year ,int month,int day) { gc = new GregorianCalendar(year,month-1,day);///month-1,因为这里1是代表2月,2代表3月。 } void getMyDay() { String []day = new String[]{"天","一","二","三","四","五","六"}; int today = gc.get(Calendar.DAY_OF_WEEK);//代表今天是星期几,周日---周六 返回 1---7 System.out.println("今天是星期" +day[today-1]);//这地方变为汉字 gc.add(Calendar.DATE,-today+2);//本来是-today+1 获得本周第一天---周日的,要获得周一,只有+2了 System.out.println("这个星期的周一为 :" + gc.get(Calendar.DATE));//现在日期已经是本周第二天---周一了 gc.add(Calendar.DATE,5);////从星期一变到到星期六,所以加上5天 System.out.println("这个星期的周六为 :" + gc.get(Calendar.DATE)); } } class GetMonday { public static void main(String[] args) { Test t = new Test(2006,11,22);//随便一天都可以,瞎改都不要紧,系统会自己算, //例如22号改为32号,日期将变为12月2号 t.getMyDay(); } }
/** * 得到本周第一天和最后一天的日期 * @return */ public static String[] getDateOfThisWeek(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Calendar cal = Calendar.getInstance();
int index = cal.get(Calendar.DAY_OF_WEEK); //今天是本周的第几天 //转成中国的习惯,如果是第一天,则转化为第七天(星期天外国为一周的第一天,而中国为每周的最后一天) if(index==1) index = 8; cal.add(Calendar.DATE,-(index-2));
String start = (sdf.format(cal.getTime()));
cal.add(Calendar.DATE,6); String end = (sdf.format(cal.getTime()));
String[] result = new String[]{start,end}; return result; }
public static String[] getDateOfThisWeek(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Calendar cal = Calendar.getInstance();
int index = cal.get(Calendar.DAY_OF_WEEK); //今天是本周的第几天 //转成中国的习惯,如果是第一天,则转化为第七天(星期天外国为一周的第一天,而中国为每周的最后一天) if(index==1) index = 8; cal.add(Calendar.DATE,-(index-2));
String start = (sdf.format(cal.getTime()));
cal.add(Calendar.DATE,6); String end = (sdf.format(cal.getTime()));
String[] result = new String[]{start,end}; return result; }
后来发现我只需要取周一就可以了,偶的程序 public String getMonday(){ Calendar cal = new GregorianCalendar(); Date date = new Date(); int curDay = cal.get(Calendar.DAY_OF_WEEK); cal.setTime(date); if(curDay==1){ cal.add(GregorianCalendar.DATE, -6); //每周第一天 }else{ cal.add(GregorianCalendar.DATE, 2 - curDay); //每周第一天 } Date lastWeekDate = cal.getTime(); // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); datetime = sdf.format(lastWeekDate); return datetime; }
int curDay = cal.get(Calendar.DAY_OF_WEEK);
//因为DAY_OF_WEEK==1是周日,以下不正确.好象要弄个判断来写的,自己动手吧:)
Calendar monday = cal.add(0-curDay , Calendar.DATE);
Calendar sunday= cal.add(7-curDay , Calendar.DATE);
//如果不想用GregorianCalendar,改为Calendar也类似import java.util.GregorianCalendar;
import java.util.Calendar;
class Test
{
int monday;
int sunday;
GregorianCalendar gc ;
Test( int year ,int month,int day)
{
gc = new GregorianCalendar(year,month-1,day);///month-1,因为这里1是代表2月,2代表3月。
}
void getMyDay()
{
String []day = new String[]{"天","一","二","三","四","五","六"};
int today = gc.get(Calendar.DAY_OF_WEEK);//代表今天是星期几,周日---周六 返回 1---7
System.out.println("今天是星期" +day[today-1]);//这地方变为汉字
gc.add(Calendar.DATE,-today+2);//本来是-today+1 获得本周第一天---周日的,要获得周一,只有+2了
System.out.println("这个星期的周一为 :" + gc.get(Calendar.DATE));//现在日期已经是本周第二天---周一了
gc.add(Calendar.DATE,5);////从星期一变到到星期六,所以加上5天
System.out.println("这个星期的周六为 :" + gc.get(Calendar.DATE));
}
}
class GetMonday
{
public static void main(String[] args)
{
Test t = new Test(2006,11,22);//随便一天都可以,瞎改都不要紧,系统会自己算,
//例如22号改为32号,日期将变为12月2号
t.getMyDay();
}
}
楼主实在也太懒了吧?上面我给的参数次序给反了,汗一个!
================================
Calendar cal = null;
Calendar monday=null,sunday=null;
......
int curDay = cal.get(Calendar.DAY_OF_WEEK);
if(curDay==1){
sunday = cal;
monday = cal.add(Calendar.DATE,-6);
}
else{
sunday = cal.add(Calendar.DATE,7-curDay);
monday = cal.add(Calendar.DATE,1-curDay);
}
* 得到本周第一天和最后一天的日期
* @return
*/
public static String[] getDateOfThisWeek(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Calendar cal = Calendar.getInstance();
int index = cal.get(Calendar.DAY_OF_WEEK); //今天是本周的第几天 //转成中国的习惯,如果是第一天,则转化为第七天(星期天外国为一周的第一天,而中国为每周的最后一天) if(index==1)
index = 8; cal.add(Calendar.DATE,-(index-2));
String start = (sdf.format(cal.getTime()));
cal.add(Calendar.DATE,6);
String end = (sdf.format(cal.getTime()));
String[] result = new String[]{start,end};
return result;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Calendar cal = Calendar.getInstance();
int index = cal.get(Calendar.DAY_OF_WEEK); //今天是本周的第几天 //转成中国的习惯,如果是第一天,则转化为第七天(星期天外国为一周的第一天,而中国为每周的最后一天) if(index==1)
index = 8; cal.add(Calendar.DATE,-(index-2));
String start = (sdf.format(cal.getTime()));
cal.add(Calendar.DATE,6);
String end = (sdf.format(cal.getTime()));
String[] result = new String[]{start,end};
return result;
}
public String getMonday(){
Calendar cal = new GregorianCalendar();
Date date = new Date();
int curDay = cal.get(Calendar.DAY_OF_WEEK);
cal.setTime(date);
if(curDay==1){
cal.add(GregorianCalendar.DATE, -6); //每周第一天
}else{
cal.add(GregorianCalendar.DATE, 2 - curDay); //每周第一天
}
Date lastWeekDate = cal.getTime(); //
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
datetime = sdf.format(lastWeekDate);
return datetime;
}