日期:2014-05-19  浏览次数:20700 次

判断时间问题
比如我现在的时间2012-03-21,我想得到它这一周的星期四的日期,也就是2012-03-22,请问这我得怎么得到呢?

------解决方案--------------------
Java code

    Calendar c=Calendar.getInstance();
    int now=c.get(Calendar.DAY_OF_WEEK);
    int temp=5;//周日是0,所以周四是5
    c.add(Calendar.DATE, temp-now);
    System.out.println(new SimpleDateFormat("yyyy-MM-dd").forma(c.getTime()));

------解决方案--------------------
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class TestDateFormate {
 public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dt=java.sql.Date.valueOf((sdf.format(new java.util.Date())));//sdf.format
System.out.println("dt"+dt);
dt=java.sql.Date.valueOf("2008-02-03");//java.sql.Date.valueOf(String str);//其中是字符串类型
System.out.println("dt"+dt);
// 格式化处理
System.out.println(sdf.parse(sdf.format(new java.util.Date())));
System.out.println("test----->"+sdf.parse("2008-04-01"));//Tue Apr 01 00:00:00 CST 2008
// 获得年和月,要求格式为200805
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMM");
String ym=sdf1.format(new java.util.Date());
System.out.println("yearMonth---->"+ym);
// 获得上一个月的年和月,要求格式为2008-05
Calendar cal=Calendar.getInstance();//当前日期
cal.set(Calendar.DATE,1);//设为当前月的1号
cal.add(Calendar.DATE,-1);//减一天,变为上月最后一天 
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
System.out.println(simpleDateFormat.format(cal.getTime()));
// 练习Calendar.set(...)和Calendar.add(...)方法
SimpleDateFormat sdf3=new SimpleDateFormat("yyyy-MM-dd");
Calendar ca2=Calendar.getInstance();//当前日期
ca2.set(Calendar.DATE,11);//设为当前月的11号
ca2.add(Calendar.DATE,-1);//减一天,变为10
System.out.println("2008-04-10:"+sdf3.format(ca2.getTime()));
}
}给你段代码研究,我也在看
------解决方案--------------------
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateFormat.parse("2012-03-18"));
int week = calendar.get(Calendar.DAY_OF_WEEK);
if(week == 1) {//周日算一周的结束需要加入这个判断,如果算
calendar.add(Calendar.DAY_OF_MONTH, -3);
} else {
calendar.add(Calendar.DAY_OF_MONTH, 5 - week);
}
System.out.println(dateFormat.format(calendar.getTime()));
System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
------解决方案--------------------
public static void main(String[] args) {
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
  
System.out.println("今天 :"+dateformat.format(new Date()));
  
Calendar c=Calendar.getInstance();
  
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
Date d1=new Date(c.getTimeInMillis());
System.out.println("星期一:"+dateformat.format(d1));
  
  
c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
Date d2=new Date(c.getTimeInMillis());
System.out.println("星期四:"+dateformat.format(d2));
  
 }

}
打印:
今天 :2012-03-22 
星期一:2012-03-19 
星期五:2012-03-23