java 计算 每月的第几个星期的星期几是哪一天

java 计算 每月的第几个星期的星期几是哪一天,第1张

public class Test2{

public static void main(String[] args) {

Systemoutprintln(showDate(7, 3, 3));

}

public static String showDate(int month, int weekOfMonth,int dayOfWeek){

String dateString = "";

Calendar calendar = CalendargetInstance();

calendarset(CalendarMONTH, month-1);

calendarset(CalendarWEEK_OF_MONTH, weekOfMonth);

calendarset(CalendarDAY_OF_WEEK, dayOfWeek);//周日为每周第一天

SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");

dateString = sdfformat( calendargetTime());

return dateString;

}

}

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 static void main(String[] args) {

        //获得当前日期

        Date date = new Date();

        //格式化日期,EEEE为星期几格式化

        SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");

        Systemoutprintln("今天是:"+dateFmformat(date));

        //再举个格式化的例子:

        Systemoutprintln("今天是:"+new SimpleDateFormat("yyyyMMddEEEE")format(date));

    }

1、使用Calendar类。

Calendar cal = CalendargetInstance();

calset(CalendarYEAR, 2016); // 2016年

calset(CalendarWEEK_OF_YEAR, 10); // 设置为2016年的第10周

calset(CalendarDAY_OF_WEEK, 2); // 1表示周日,2表示周一,7表示周六

Date date = calgetTime();

以上就能得到2016年第10周的周一的Date时间。

注:上面代码是手工敲的,没有放到eclipse中运行,有写错的地方请谅解

public static void main(String[] args) {

Calendar cal = CalendargetInstance();

//Java 中月 1 - 12 月,分别对应是 0 - 11

//设定目前日期为 2000/02/01(29天)

//calset(2000, 1, 1);

Systemoutprintln("现在的时间: " + calgetTime());

Systemoutprintln("本月共有 : " + calgetActualMaximum(CalendarWEEK_OF_MONTH) + " 周");

int date_Count = calgetActualMaximum(CalendarDAY_OF_MONTH);

//Java 中星期 日、一、二、三、四、五、六,分别对应是 1 - 7

if ((calget(CalendarDAY_OF_WEEK)) == 1) {

Systemoutprintln("今天星期天");

} else if ((calget(CalendarDAY_OF_WEEK)) == 2) {

Systemoutprintln("今天星期一");

} else if ((calget(CalendarDAY_OF_WEEK)) == 3) {

Systemoutprintln("今天星期二");

} else if ((calget(CalendarDAY_OF_WEEK)) == 4) {

Systemoutprintln("今天星期三");

} else if ((calget(CalendarDAY_OF_WEEK)) == 5) {

Systemoutprintln("今天星期四");

} else if ((calget(CalendarDAY_OF_WEEK)) == 6) {

Systemoutprintln("今天星期五");

} else if ((calget(CalendarDAY_OF_WEEK)) == 7) {

Systemoutprintln("今天星期六");

}

}

    public static void main(String[] args) throws ParseException {

        int year = 2017;

        Calendar calendar = new GregorianCalendar(year, 0, 1);

        int i = 1;

        while (calendarget(CalendarYEAR) < year + 1) {

            calendarset(CalendarWEEK_OF_YEAR, i++);

            calendarset(CalendarDAY_OF_WEEK, CalendarSUNDAY);

            if (calendarget(CalendarYEAR) == year) {

                Systemoutprintf("星期天:%tF%n", calendar);

            }

            calendarset(CalendarDAY_OF_WEEK, CalendarSATURDAY);

            if (calendarget(CalendarYEAR) == year) {

                Systemoutprintf("星期六:%tF%n", calendar);

            }

        }

    }

取得时间类

1、Date ,Systemoutprintln(new date());

2、calendar 此类是抽象类,要想实例化,需要实例化子类GregorianCalendar

看看jdk的API中给了相应的方法:注意月份需要加1;

有时候希望对格式进行转换。

SimpleDateFormat类 此类在javatext包下

1、准备原格式,2、准备新格式 3、转化

String str = "2011-09-11 16:35:06";

SimpleDateFormat sd = new SimpleDateFormate("yyyy-MM-dd HH:mm:ss");

SimpleDateFormat sd2 = new SimpleDateFormate("yyyy

年MM月dd日 HH时mm分ss秒")

//然后进行转化

Date d = sdparse(str);

将时间数插入sd2上

String newStr = sd2format(d);

Systemoutprintln(newStr);

以上就是关于java 计算 每月的第几个星期的星期几是哪一天全部的内容,包括:java 计算 每月的第几个星期的星期几是哪一天、帮编写 java 获取星期几、java 怎么返回当天星期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存