怎样计算出与当前给出日期后面的最近的星期六? 如果我给的日期是2007-02-28,是星期四,那么星期六是2007-03-03,我怎么才能计算出来,能否给出一个完整的程序。我现在用calendar.get(Calendar.DAY_OF_WEEK))可以得出2007-02-28时星期几,然后用calendar.add(Calendar.DAY_OF_MONTH,1);可得出的是2007-02-29,这个月没有29号,怎么判断跨月时的情况,是否还要判断闰年闰月? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.util.*;import java.text.*;public class Test { public static void main(String[] args) throws ParseException{ String strDate = "2007-02-28"; DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); c.setTime(df.parse(strDate)); c.add(Calendar.DAY_OF_MONTH, Calendar.SATURDAY-c.get(Calendar.DAY_OF_WEEK)); System.out.println(df.format(c.getTime())); }} 这个:import java.util.*;import java.text.*;public class Test { public static void main(String[] args) throws ParseException{ String strDate = "2007-03-04"; DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); c.setTime(df.parse(strDate)); int days = Calendar.SATURDAY-c.get(Calendar.DAY_OF_WEEK)>0? Calendar.SATURDAY-c.get(Calendar.DAY_OF_WEEK) : Calendar.SATURDAY-c.get(Calendar.DAY_OF_WEEK)+7; c.add(Calendar.DAY_OF_MONTH, days); System.out.println(df.format(c.getTime())); }} public class Test{ public static void main(String[] args) { java.util.Calendar c=java.util.Calendar.getInstance(); java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("当前时间: "+df.format(c.getTime())); c.set(java.util.Calendar.DAY_OF_WEEK, java.util.Calendar.SATURDAY); System.out.println("最近周六时间: "+df.format(c.getTime())); }} public class Test { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); cal.set(2007, 1, 28); // 2007-2-28 System.out.println(cal.getTime()); cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); System.out.println(cal.getTime()); }} //adding date format :) public static void main(String[] args) { Calendar cal = Calendar.getInstance(); cal.set(2007, 1, 28); // 2007-2-28 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); System.out.println(df.format(cal.getTime())); cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); System.out.println(df.format(cal.getTime())); } 我现在用calendar.get(Calendar.DAY_OF_WEEK))可以得出2007-02-28时星期几,然后用calendar.add(Calendar.DAY_OF_MONTH,1);可得出的是2007-02-29----------------------------------------------------------re:你能得出2007-02-29?,我怎么得出2007-03-01啊? 时间计算问题:根据已知的一个时间比如2005-2005-02-12计算15天前的时间是什么时候? 我新发现的一个问题!!!! super 能否在Java程序中进行环境变量的设置? 问个挺没面子的问题,希望大家别笑话 如何把sql server的image字段插入到oracle中的blob字段中? 特邀 wanglh2000 大哥!!!!!其他高手也可以进!!谢谢 读文件中遇到的一个问题? java包的问题 关于JAVA和C/C++通过socket发送和接受数据的问题 高份求解一题!正则表达式方面的! java能否将字符串5-3+1转化成计算公式求出值3
import java.text.*;
public class Test {
public static void main(String[] args) throws ParseException{
String strDate = "2007-02-28";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(df.parse(strDate));
c.add(Calendar.DAY_OF_MONTH, Calendar.SATURDAY-c.get(Calendar.DAY_OF_WEEK));
System.out.println(df.format(c.getTime()));
}
}
import java.util.*;
import java.text.*;
public class Test {
public static void main(String[] args) throws ParseException{
String strDate = "2007-03-04";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(df.parse(strDate));
int days = Calendar.SATURDAY-c.get(Calendar.DAY_OF_WEEK)>0?
Calendar.SATURDAY-c.get(Calendar.DAY_OF_WEEK) :
Calendar.SATURDAY-c.get(Calendar.DAY_OF_WEEK)+7;
c.add(Calendar.DAY_OF_MONTH, days);
System.out.println(df.format(c.getTime()));
}
}
{
public static void main(String[] args)
{
java.util.Calendar c=java.util.Calendar.getInstance();
java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("当前时间: "+df.format(c.getTime()));
c.set(java.util.Calendar.DAY_OF_WEEK, java.util.Calendar.SATURDAY);
System.out.println("最近周六时间: "+df.format(c.getTime()));
}
}
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.set(2007, 1, 28); // 2007-2-28
System.out.println(cal.getTime());
cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
System.out.println(cal.getTime());
}
}
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.set(2007, 1, 28); // 2007-2-28
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(df.format(cal.getTime()));
cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
System.out.println(df.format(cal.getTime()));
}
----------------------------------------------------------
re:你能得出2007-02-29?,我怎么得出2007-03-01啊?