public void a(int i){ Calendar c = Calendar.getInstance(); int day_of_week = c.get(Calendar.DAY_OF_WEEK); c.add(Calendar.DATE,i-day_of_week); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH) + 1; int date = c.get(Calendar.DATE); }
/** * 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号 * * @param sdate * @param num * @return */ public static String getWeek(String sdate, String num) { // 再转换为时间 Date dd = DateFormats.strToDate(sdate); Calendar c = Calendar.getInstance(); c.setTime(dd); if (num.equals("1")) // 返回星期一所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); else if (num.equals("2")) // 返回星期二所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); else if (num.equals("3")) // 返回星期三所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); else if (num.equals("4")) // 返回星期四所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY); else if (num.equals("5")) // 返回星期五所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY); else if (num.equals("6")) // 返回星期六所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); else if (num.equals("0")) // 返回星期日所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); } http://javaprogram.5d6d.com/blog.php?tid=322
我怎么看不懂楼主在说什么呢? 你要得到星期六是几号? Calendar ca = Calendar.getInstance(); ca.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(ca.getTime()));
public class Test { public static void main(String[] args) { Date date = getDate(Week.SUNDAY); System.out.printf("%tF%n", date); }
private static Date getDate(Week week) { Calendar calendar = Calendar.getInstance(); calendar.setFirstDayOfWeek(Week.MONDAY.getWeek()); calendar.set(Calendar.DAY_OF_WEEK, week.getWeek()); return calendar.getTime(); } }class Week { private static int num = 1; private int week = num++;
private Week(){}
public int getWeek() { return week; }
public static Week SUNDAY = new Week(); public static Week MONDAY = new Week(); public static Week TUESDAY = new Week(); public static Week WEDNESDAY = new Week(); public static Week THURSDAY = new Week(); public static Week FRIDAY = new Week(); public static Week SATURDAY = new Week(); }
public void getWeekDay(int i) { Date date = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(date); i = i+1; if(i >= 8) { i = i-7; } cal.set(Calendar.DAY_OF_WEEK, i); }
对一楼方法的改进public static void a(int i){ i+=1; //因为在JAVA中每周是从周日开始的,即周日是1,周一2 if(i>7) i-=7; Calendar c = Calendar.getInstance(); int day_of_week=c.get(Calendar.DAY_OF_WEEK); c.add(Calendar.DAY_OF_WEEK,i-day_of_week); int year=c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH)+1; int day= c.get(Calendar.DAY_OF_MONTH); System.out.println("year "+year+" month "+month+" day "+day); }
Calendar c = Calendar.getInstance();
int day_of_week = c.get(Calendar.DAY_OF_WEEK);
c.add(Calendar.DATE,i-day_of_week);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
}
* 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号
*
* @param sdate
* @param num
* @return
*/
public static String getWeek(String sdate, String num) {
// 再转换为时间
Date dd = DateFormats.strToDate(sdate);
Calendar c = Calendar.getInstance();
c.setTime(dd);
if (num.equals("1")) // 返回星期一所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
else if (num.equals("2")) // 返回星期二所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
else if (num.equals("3")) // 返回星期三所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
else if (num.equals("4")) // 返回星期四所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
else if (num.equals("5")) // 返回星期五所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
else if (num.equals("6")) // 返回星期六所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
else if (num.equals("0")) // 返回星期日所在的日期
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
}
http://javaprogram.5d6d.com/blog.php?tid=322
你要得到星期六是几号?
Calendar ca = Calendar.getInstance();
ca.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(ca.getTime()));
Date date = getDate(Week.SUNDAY);
System.out.printf("%tF%n", date);
}
private static Date getDate(Week week) {
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Week.MONDAY.getWeek());
calendar.set(Calendar.DAY_OF_WEEK, week.getWeek());
return calendar.getTime();
}
}class Week {
private static int num = 1;
private int week = num++;
private Week(){}
public int getWeek() {
return week;
}
public static Week SUNDAY = new Week();
public static Week MONDAY = new Week();
public static Week TUESDAY = new Week();
public static Week WEDNESDAY = new Week();
public static Week THURSDAY = new Week();
public static Week FRIDAY = new Week();
public static Week SATURDAY = new Week();
}
{
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
i = i+1;
if(i >= 8)
{
i = i-7;
}
cal.set(Calendar.DAY_OF_WEEK, i);
}
i+=1; //因为在JAVA中每周是从周日开始的,即周日是1,周一2
if(i>7)
i-=7;
Calendar c = Calendar.getInstance();
int day_of_week=c.get(Calendar.DAY_OF_WEEK);
c.add(Calendar.DAY_OF_WEEK,i-day_of_week);
int year=c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
int day= c.get(Calendar.DAY_OF_MONTH);
System.out.println("year "+year+" month "+month+" day "+day);
}