解决方案 »
- 找不到 windowClosed
- 利用键盘钩子吃掉键盘消息,再用ClipCursor把鼠标控制在一定区域内
- 不明白出错的信息,一处地方,请大家帮我看下,谢谢
- 奇怪rs.getString()不能从数据库中提取数据
- 为什么在用Thread.sleep()总在加try{}catch(){}语句?
- 菜鸟送分问题。。。。关于缓存的问题
- 为什么一直提示can not access class/directory
- about sun(tm),java(tm),what means tm?
- 如何用java生成word文档?急急急,高分在线等待!
- 我是新手,想编写应用程序,请问诸位大侠:VJ,J++builder,哪一个好些?其它JAVA语言如何??
- 线程的执行顺序问题?
- 关于java环境变量的小问题
public static void main(String[] args) {
System.out.println(getDateByWeek(2009,1,"start"));
}
public static String getDateByWeek(int year, int week,String type){
int offset = 0;
if("end".equals(type)) offset=6;
Calendar c= Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.WEEK_OF_YEAR, week);
c.add(Calendar.DAY_OF_YEAR, offset);
return c.get(Calendar.YEAR)+"-"+(c.get(Calendar.MONTH)+1)+"-"+c.get(Calendar.DAY_OF_MONTH);
}
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;public class DateTest { /**
* @param args
*/
static Calendar cal=new GregorianCalendar();
public static String getStartDateByWeek(int year, int week){
cal.set(Calendar.YEAR, year);
cal.set(Calendar.WEEK_OF_YEAR, week);
cal.set(Calendar.DAY_OF_WEEK, 1);
Date result=cal.getTime();
if(result.getTime()<new GregorianCalendar(2009,0,1).getTimeInMillis())
return new SimpleDateFormat("yyyy-MM-dd").format(new GregorianCalendar(2009,0,1).getTime());
return new SimpleDateFormat("yyyy-MM-dd").format(result);
}
public static String getEndDateByWeek(int year, int week){
cal.set(Calendar.YEAR, year);
cal.set(Calendar.WEEK_OF_YEAR, week);
cal.set(Calendar.DAY_OF_WEEK, 7);
Date result=cal.getTime();
if(result.getTime()>new GregorianCalendar(2009,12,31).getTimeInMillis())
return new SimpleDateFormat("yyyy-MM-dd").format(new GregorianCalendar(2009,11,31).getTime());
return new SimpleDateFormat("yyyy-MM-dd").format(result);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(getStartDateByWeek(2009,1));
System.out.println(getEndDateByWeek(2009,1));
}}
结果:2009-01-01
2009-01-03多查一下API,多测试几次就可以了
public String getStartDateByWeek(int year, int week){
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR,year);
c.set(Calendar.WEEK_OF_YEAR,week);
SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd");
String starTime=s.format(c.getTime());
return starTime;
}
public String getEndDateByWeek(int year, int week){
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR,year);
c.set(Calendar.WEEK_OF_YEAR,week);
SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd");
c.add(Calendar.DAY_OF_MONTH,6);
String endTime=s.format(c.getTime());
return endTime;
}
新年刚开始那天所在星期的周六为新年第一周的开始时间,以后一次加7为第几周的开始时间,不知道这个会不会影响到你的应用