java 如何获取 上周一日期,上周末日期,本周一日期。

作者&投稿:淳江 (若有异议请与网页底部的电邮联系)
java 中怎么根据当前时间得到上周一和上周五的日期~

/** * 获取上周五时间 */ public Date lastFirday() {  //作用防止周日得到本周日期 Calendar calendar = Calendar.getInstance(); while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) { calendar.add(Calendar.DAY_OF_WEEK, -1); } int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; int offset = 7 - dayOfWeek; calendar.add(Calendar.DATE, offset - 9); return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 6);//这是从上周日开始数的到本周五为6 } /** * 获取上周一时间 */ public Date lastMonday() { Calendar calendar = Calendar.getInstance(); while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) { calendar.add(Calendar.DAY_OF_WEEK, -1); } int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; int offset = 1 - dayOfWeek; calendar.add(Calendar.DATE, offset - 7); return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 2); }参考http://www.cnblogs.com/mingtian521/p/3525870.html
请采纳,谢谢

mport java.text.SimpleDateFormat;
import java.util.Calendar;
public class Test{
public static void main(String args[]){
Calendar cal = Calendar.getInstance();
//n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推
int n = 2;
String monday;
cal.add(Calendar.DATE, n*7);
//想周几,这里就传几Calendar.MONDAY(TUESDAY...)
cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
monday = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
System.out.println(monday);
}
}

获取本周一

 public static Date getNowWeekMonday(Date date) {    
            Calendar cal = Calendar.getInstance();    
             cal.setTime(date);    
                  
             cal.add(Calendar.DAY_OF_MONTH, -1); //解决周日会出现 并到下一周的情况    
            cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);    
                 
303            return cal.getTime();    
        }

获取上周一

public static Date getLastWeekMonday(Date date) {    
             Date a = DateUtils.addDays(date, -1);    
            Calendar cal = Calendar.getInstance();    
            cal.setTime(a);    
            cal.add(Calendar.WEEK_OF_YEAR, -1);// 一周    
            cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);    
                  
             return cal.getTime();    
        }

获取上周日

public static Date  getLastWeekSunday(Date date) {    
                 
            Date a = DateUtils.addDays(date, -1);    
           Calendar cal = Calendar.getInstance();    
         cal.setTime(a);    
           cal.set(Calendar.DAY_OF_WEEK, 1);    
                 
          return cal.getTime();    
        }

代码里面有用到 lapache.common-ang包 你需要下载下 就可以使用



没有乱呀,因为缺省时每星期的第一天是星期日,所以你应该先调用

Calendar.setFirstDayOfWeek(Calendar.MONDAY);

把每星期的第一天设为星期一



那你判断一下当前日期是为周末么


贞丰县14731532900: java 如何获取 上周一日期,上周末日期,本周一日期. -
爱泡独活: 获取本周一 public static Date getNowWeekMonday(Date date) {Calendar cal = Calendar.getInstance();cal.setTime(date); cal.add(Calendar.DAY_OF_MONTH, -1); //解决周日会出现 并到下一周的情况cal.set(Calendar.DAY_OF_WEEK, ...

贞丰县14731532900: java 怎么根据第几年的第几周获取那周周一的时期? -
爱泡独活: 1、使用Calendar类.Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2016); // 2016年 cal.set(Calendar.WEEK_OF_YEAR, 10); // 设置为2016年的第10周 cal.set(Calendar.DAY_OF_WEEK, 2); // 1表示周日,2表示周一,7表示周六 Date date = cal.getTime(); 以上就能得到2016年第10周的周一的Date时间.注:上面代码是手工敲的,没有放到eclipse中运行,有写错的地方请谅解

贞丰县14731532900: java获取某个时间的上周一和周日 -
爱泡独活: mport java.text.SimpleDateFormat; import java.util.Calendar; public class Test{ public static void main(String args[]){ Calendar cal = Calendar.getInstance();//n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推 int n = 2; String monday; cal.add...

贞丰县14731532900: java怎么获取某一日期 -
爱泡独活: //传入指定时间,添加指定天数 public static Date addDay(Date date, int num) { Calendar c = setCalendar(date); c.add(Calendar.DAY_OF_MONTH, num); return c.getTime(); } //传入指定时间,添加指定月份 public static Date addMonth(Date ...

贞丰县14731532900: JAVA如果根据当前日期时间得到上周一和上周末的日期时间呢?求大侠写个代码.. -
爱泡独活: Date nowdate=new Date(); int day=nowdate.getDay(); //0---6 0是周日 想方法把 0变成7 if(day==0){ day=7 } 那间隔不就是那上周日不就是 day天前嘛 上周一不就是 day+6天前嘛 那时间总会吧 new Date(nowdate.getTime()-60*60*24*day); new Date(nowdate.getTime()-60*60*24*(day+6)); 具体间隔你想想 我没仔细想哦

贞丰县14731532900: Java 如何获取某一个月中所有星期一的日期 -
爱泡独活: 可以通过日期的add(Calendar.MONTH, 1)方法进行月份切换,输出每个满足条件的值 Date d1

贞丰县14731532900: java 获取昨天,上个星期一,本月开始时间戳,怎么写 -
爱泡独活: 获取当前时间戳,得到当前日期时间 分别计算本月,本周,本日的开始结束时间 然后求差,反算回去

贞丰县14731532900: java怎么获取本周一到周末时间 -
爱泡独活: /*** 获取上周五时间*/public Date lastFirday() { //作用防止周日得到本周日期Calendar calendar = Calendar.getInstance();while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {calendar.add(Calendar.DAY_OF_WEEK, -...

贞丰县14731532900: 在java里怎么取离当前日期最近的一个星期天 -
爱泡独活: package com.rxlamo.zhidao;import java.text.SimpleDateFormat; import java.util.Calendar;public class Test {public static void main(String[] args) {// 获取离当前日期最近的一个星期天 getLastSunday();} /*** 获取离当前日期最近的一...

贞丰县14731532900: java如何获取上周6的日期
爱泡独活: Calendar calendar = Calendar.getInstance(); //设置为本周的星期六 calendar.set(Calendar.DAY_OF_WEEK, 7); //设置为上星期的星期六 calendar.add(Calendar.WEEK_OF_MONTH, -1);

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网