其实你只要得到aTmsp_startDate是星期几,再从aTmsp_startDate里减去(几-2)天,就是星期一了。 Calendar c = Calendar.getInstance(); c.setDate(aTmsp_startDate); int day = c.get(Calendar.DAY_OF_WEEK); long time = c.getTimeInMillis(); time = time - (day - 2)*24*60*60*1000; TimeStamp ts = new TimeStamp(time);
import java.util.Date; import java.sql.Timestamp; import java.util.Calendar;public class GetMonday{ public static void getMonday(Date date){ Calendar c = Calendar.getInstance(); c.setTime(date); int day = c.get(Calendar.DAY_OF_WEEK); long time = c.getTimeInMillis(); time = time - (day - 2)*24*60*60*1000; Timestamp ts = new Timestamp(time); System.out.println(ts.toString()); }
public static void main(String[] args){ getMonday(new Date()); } }这是运行通过的。因为没有连数据库,就用Date对象代替Timestamp对象了,反正timestamp是Date的子类,这个方法是可行的
首先要知道Calendar给拿到实例。Calendar.getInstance()。该拿实例里面参数不适合。默认拿是拿机器日期,而不是我传的日期。因此好像不行。回jackkui(阿黄):
你说的取得日期对应哪周如何实现?呵呵,还有知道拿周了,如何知道那周的周一是哪一天?呵呵,有待研究。
Calendar c = Calendar.getInstance();
c.setDate(aTmsp_startDate);
int day = c.get(Calendar.DAY_OF_WEEK);
long time = c.getTimeInMillis();
time = time - (day - 2)*24*60*60*1000;
TimeStamp ts = new TimeStamp(time);
import java.sql.Timestamp;
import java.util.Calendar;public class GetMonday{
public static void getMonday(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
int day = c.get(Calendar.DAY_OF_WEEK);
long time = c.getTimeInMillis();
time = time - (day - 2)*24*60*60*1000;
Timestamp ts = new Timestamp(time);
System.out.println(ts.toString());
}
public static void main(String[] args){
getMonday(new Date());
}
}这是运行通过的。因为没有连数据库,就用Date对象代替Timestamp对象了,反正timestamp是Date的子类,这个方法是可行的