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

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

获取本周一

 public static Date getNowWeekMonday(Date date) {    

            Calendar cal = CalendargetInstance();    

             calsetTime(date);    

                  

             caladd(CalendarDAY_OF_MONTH, -1); //解决周日会出现 并到下一周的情况    

            calset(CalendarDAY_OF_WEEK, CalendarMONDAY);    

                 

303            return calgetTime();    

        }

获取上周一

public static Date getLastWeekMonday(Date date) {    

             Date a = DateUtilsaddDays(date, -1);    

            Calendar cal = CalendargetInstance();    

            calsetTime(a);    

            caladd(CalendarWEEK_OF_YEAR, -1);// 一周    

            calset(CalendarDAY_OF_WEEK, CalendarMONDAY);    

                  

             return calgetTime();    

        }

获取上周日

public static Date  getLastWeekSunday(Date date) {    

                 

            Date a = DateUtilsaddDays(date, -1);    

           Calendar cal = CalendargetInstance();    

         calsetTime(a);    

           calset(CalendarDAY_OF_WEEK, 1);    

                 

          return calgetTime();    

        }

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

import javatextDateFormat;

import javatextSimpleDateFormat;

import javautilCalendar;

import javautilDate;

import javautilTimeZone;

public class DBOP

{

public static void main(String [] arg)

{

TimeZone time = TimeZonegetTimeZone("GMT+8"); //设置为东八区

time = TimeZonegetDefault();// 这个是国际化所用的

Systemoutprintln(time);

TimeZonesetDefault(time);// 设置时区

Calendar calendar = CalendargetInstance();// 获取实例

DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//构造格式化模板

Date date = calendargetTime(); //获取Date对象

String str = new String();

str = format1format(date);//对象进行格式化,获取字符串格式的输出

Systemoutprintln(str);

}

}

Date date=new Date();//取时间

Calendar calendar = new GregorianCalendar();

calendarsetTime(date);

calendaradd(calendarDATE,1);//把日期往后增加一天整数往后推,负数往前移动

date=calendargetTime(); //这个时间就是日期往后推一天的结果

import javatextDecimalFormat;

import javatextSimpleDateFormat;

import javautilCalendar;

public class WeekDemo {

    public static void main(String[] args) {

        printWeeks();

    }

    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

    private static DecimalFormat df = new DecimalFormat("00");

    private static void printWeeks() {

        Calendar calendar = CalendargetInstance();

        int year = calendarget(CalendarYEAR);

        calendarset(CalendarDAY_OF_WEEK, CalendarMONDAY);

        calendarset(CalendarWEEK_OF_YEAR, 1);

        int week = 1;

        while (calendarget(CalendarYEAR) <= year) {

            if (calendarget(CalendarDAY_OF_WEEK) == CalendarMONDAY) {

                StringBuilder builder = new StringBuilder();

                builderappend("第")append(dfformat(week++))append("周 (");

                builderappend(sdfformat(calendargetTime()))append(" - ");

                calendaradd(CalendarDATE, 6);

                builderappend(sdfformat(calendargetTime()))append(")");

                Systemoutprintln(buildertoString());

            }

            calendaradd(CalendarDATE, 1);

        }

    }

}

import javatextSimpleDateFormat;

import javautilCalendar;

public class DataTest {

public static void main(String[] args) {

printWeekdays();

}

private static final int FIRST_DAY = CalendarMONDAY;

private static void printWeekdays() {

Calendar calendar = CalendargetInstance();

setToFirstDay(calendar);

for (int i = 0; i < 7; i++) {

printDay(calendar);

calendaradd(CalendarDATE, 1);

}

}

private static void setToFirstDay(Calendar calendar) {

while (calendarget(CalendarDAY_OF_WEEK) != FIRST_DAY) {

calendaradd(CalendarDATE, -1);

}

}

private static void printDay(Calendar calendar) {

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd EE");

Systemoutprintln(dateFormatformat(calendargetTime()));

}

}

import javasqlDate;

public class TestWeek {

public static void main(String[] args) {

//2007-1-1 刚好是星期一,就从这天开始算

Date d = DatevalueOf("2007-1-1");

Date dd = DatevalueOf("2007-1-2");

final long oneDayTime = ddgetTime() - dgetTime(); //得到一天的long值

final long weekTime = oneDayTime 7; // 一周的long值

int start = 2007; //起始年2007

int end = 10; //要计算的年数,这里可以增加,当前计算今后10年

for (int i = 1; i <= end; i++) {

int currYear = start + i; //当前要计算的年

String tt = currYear + "-1-1";//tt:当前要计算的年的元旦日期

Date cuttIime = DatevalueOf(tt);

long count = cuttIimegetTime() - dgetTime(); //得到余下时间的long值,距离2007-1-1

long many = count % weekTime; //余下时间的天数的long值

int w = (int) (many / oneDayTime);//余下的天数

print(currYear,w);//打印日期

}

}

public static void print(int y,int i) {

String week = null;

switch (i) {

case 1:

week = "二"; break;

case 2:

week = "三";break;

case 3:

week = "四";break;

case 4:

week = "五";break;

case 5:

week = "六";break;

case 6:

week = "日";break;

case 0:

week = "一";break;

};

Systemoutprintln(y +" 年的元旦是星期" + week);

}

}

结果:未来30年:

2008 年的元旦是星期二

2009 年的元旦是星期四

2010 年的元旦是星期五

2011 年的元旦是星期六

2012 年的元旦是星期日

2013 年的元旦是星期二

2014 年的元旦是星期三

2015 年的元旦是星期四

2016 年的元旦是星期五

2017 年的元旦是星期日

2018 年的元旦是星期一

2019 年的元旦是星期二

2020 年的元旦是星期三

2021 年的元旦是星期五

2022 年的元旦是星期六

2023 年的元旦是星期日

2024 年的元旦是星期一

2025 年的元旦是星期三

2026 年的元旦是星期四

2027 年的元旦是星期五

2028 年的元旦是星期六

2029 年的元旦是星期一

2030 年的元旦是星期二

2031 年的元旦是星期三

2032 年的元旦是星期四

2033 年的元旦是星期六

2034 年的元旦是星期日

2035 年的元旦是星期一

2036 年的元旦是星期二

2037 年的元旦是星期四

/

      获取上周五时间

     /

    public Date lastFirday() {

//作用防止周日得到本周日期

        Calendar calendar = CalendargetInstance();

        while (calendarget(CalendarDAY_OF_WEEK) != CalendarMONDAY) {

            calendaradd(CalendarDAY_OF_WEEK, -1);

        }

        int dayOfWeek = calendarget(CalendarDAY_OF_WEEK) - 1;

        int offset = 7 - dayOfWeek;

        calendaradd(CalendarDATE, offset - 9);

        return DateTimeUtilgetFirstDayOfWeek(calendargetTime(), 6);//这是从上周日开始数的到本周五为6

    }

 

/

      获取上周一时间

     /

    public Date lastMonday() {

        Calendar calendar = CalendargetInstance();

        while (calendarget(CalendarDAY_OF_WEEK) != CalendarMONDAY) {

            calendaradd(CalendarDAY_OF_WEEK, -1);

        }

        int dayOfWeek = calendarget(CalendarDAY_OF_WEEK) - 1;

        int offset = 1 - dayOfWeek;

        calendaradd(CalendarDATE, offset - 7);

        return DateTimeUtilgetFirstDayOfWeek(calendargetTime(), 2);

    }

参考

请采纳,谢谢

以上就是关于java 如何获取 上周一日期,上周末日期,本周一日期。全部的内容,包括:java 如何获取 上周一日期,上周末日期,本周一日期。、java怎么获取当前是星期六的所有时区、java 知道一个时间 求出这个时间的星期一时间和星期日的时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10113528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存