每周都是星期一到星期日。不管今天是星期几,我想得到上个星期周日的日期,弄个半天没弄出来,谁弄过这东西?告诉我下,谢谢,很急!!!
解决方案 »
- 最新15个javaEE判断题4(T/F)
- 关于静态初始化器,还是有点不明白?
- 怎么把Date类型的值给set
- 在线考试 如实现定时交卷
- 100分急救 tomcat不能访问问题
- 用org.apache.struts.actions.ForwardAction转发的表单在页面上显示乱码怎么办?
- jboss的mysql连接池测试提示错误:MySqlDS not bound,帮帮忙
- struts配置问题,立即给分,
- 高分提问:Java applet怎么读取在本服务器上的文件
- 俺的WL7突然过期了,求恢复使用的东西,办法....
- 如何让下拉列表的值不可修改
- 请问高手们一个关于flot jquery画图工具的问题
Calendar 使用两个参数定义了特定于语言环境的 7 天制星期:星期的第一天和第一个星期中的最小一天(从 1 到 7)。这些数字取自构造 Calendar 时的语言环境资源数据。还可以通过为其设置值的方法来显式地指定它们。
在设置或获得 WEEK_OF_MONTH 或 WEEK_OF_YEAR 字段时,Calendar 必须确定一个月或一年的第一个星期,以此作为参考点。一个月或一年的第一个星期被确定为开始于 getFirstDayOfWeek() 的最早七天,它最少包含那一个月或一年的 getMinimalDaysInFirstWeek() 天数。第一个星期之前的各星期编号为 ...、-1、0;之后的星期编号为 2、3、...。注意,get() 返回的标准化编号方式可能有所不同。例如,特定 Calendar 子类可能将某一年第 1 个星期之前的那个星期指定为前一年的第 n 个星期。
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
c.add(Calendar.WEEK_OF_MONTH, -1);
System.out.println(c.getTime());仅限于星期天,上星期一就不能这样做了
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
System.out.println("now date: " + c.getTime());
// 减去一个星期
c.add(Calendar.WEEK_OF_MONTH, -1);
// 上个星期的今天是第几天,星期天是1,所以要减去1
int d = c.get(Calendar.DAY_OF_WEEK) - 1;
// 添加余下的天数
c.add(Calendar.DAY_OF_WEEK, 7 - d);
System.out.println("last sunday: " + c.getTime());
}
c.add(Calendar.WEEK_OF_MONTH, -1);
改成
c2.add(Calendar.DAY_OF_WEEK, -1); 还是不对的,貌似少了一天...
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
c.add(Calendar.WEEK_OF_MONTH, -1);
System.out.println(c.getTime());
Calendar cal= Calendar.getInstance();//获得当前日期
cal.set(Calendar.WEEK_OF_MONTH, cal.WEEK_OF_MONTH-1);//时间设置为上个星期的今天
cal.set(Calendar.DAY_OF_WEEK, 1);//再设为上个星期的星期天
得到的cal就是上个星期天的日期了