用java程序编写如何判定是每月的1号星期几

用java程序编写如何判定是每月的1号星期几,第1张

import javautilCalendar;

import javautilDate;

public class Yugi

{

public static void getDays(String from, String to)

{

Calendar calendar = CalendargetInstance();

String[] array = { from, to };

Date[] ds = new Date[arraylength];

for(int i = 0; i < arraylength; i++)

{

String[] fs = array[i]split("[^\\d]+");

calendarset(IntegerparseInt(fs[0]), IntegerparseInt(fs[1]) - 1, IntegerparseInt(fs[2]));

ds[i] = calendargetTime();

}

for(Date x = ds[0]; xcompareTo(ds[1]) <= 0;)

{

calendarsetTime(x);

int today = calendarget(CalendarDAY_OF_WEEK);

String[] week = "日一二三四五六"split("");

if(calendarget(CalendarDATE) == 1)

{

Systemoutprintln(

    calendarget(CalendarYEAR) + "的" + (calendarget(CalendarMONTH) + 1) + "月1号是 星期" + week[today]);

}

calendaradd(CalendarMONTH, 1);

x = calendargetTime();

}

}

public static void main(String[] args)

{

getDays("201511", "20151231");

}

}

/

  

  获取指定月份的日历信息

  

  @param year

             年

  @param month

             月

  @return

 /

public static int[] getMonthCalendar(int year, int month) {

Calendar cl = CalendargetInstance();

clset(year, month, 1);

int firstDay = clgetMinimum(CalendarDAY_OF_MONTH);

int lastDay = clgetMaximum(CalendarDAY_OF_MONTH);

int[] day = new int[lastDay];

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

day[i] =  i + firstDay;

}

return day;

}

用SimpleDateFormat

import javatextParseException;

import javatextSimpleDateFormat;

import javautilDate;

public class Test030 {

    public static void main(String[] args){

        String s = "2013/9";

        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd");

        sdf1setLenient(false);

        SimpleDateFormat sdf2 = new SimpleDateFormat("EEE");

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

            try {

                Date date = sdf1parse(s + "/" + i);

                Systemoutprintln(sdf1format(date) + " : " + sdf2format(date));

            } catch (ParseException e) {

                //do nothing

            }

        }

                              

    }

                          

}

输入结果:

2013/09/01 : 星期日

2013/09/02 : 星期一

2013/09/03 : 星期二

2013/09/04 : 星期三

2013/09/05 : 星期四

2013/09/06 : 星期五

2013/09/07 : 星期六

2013/09/08 : 星期日

2013/09/09 : 星期一

2013/09/10 : 星期二

2013/09/11 : 星期三

2013/09/12 : 星期四

2013/09/13 : 星期五

2013/09/14 : 星期六

2013/09/15 : 星期日

2013/09/16 : 星期一

2013/09/17 : 星期二

2013/09/18 : 星期三

2013/09/19 : 星期四

2013/09/20 : 星期五

2013/09/21 : 星期六

2013/09/22 : 星期日

2013/09/23 : 星期一

2013/09/24 : 星期二

2013/09/25 : 星期三

2013/09/26 : 星期四

2013/09/27 : 星期五

2013/09/28 : 星期六

2013/09/29 : 星期日

2013/09/30 : 星期一

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

Calendar calendar = CalendargetInstance();

Date now = calendargetTime();

Systemoutprintln(simpleDateFormatformat(now));

calendarset(CalendarMONTH, calendarget(CalendarMONTH) - 1);

calendarset(CalendarDATE, calendargetMaximum(CalendarDATE));

calendarset(CalendarHOUR, -12);

calendarset(CalendarMINUTE, 0);

calendarset(CalendarSECOND, 0);

Date date = calendargetTime();

Systemoutprintln(simpleDateFormatformat(date));

输出:

2014-02-20 19:40:40

2014-01-31 00:00:00

/

获取某一天是一周中的星期几

@param strDate 1900-01-01

@return

@throws ParseException

/

private int getWeekDay(String strDate) throws ParseException {

int nReturn = 0;

Calendar cDay = CalendargetInstance(); // 实例化一个Calendar对象

cDayclear(); // 清空Calendar

cDayset(IntegerparseInt(strDatesubstring(0, 4)), Integer

parseInt(strDatesubstring(5, 7)) - 1, Integer

parseInt(strDatesubstring(8, 10))); // 设置这个日期的内容

switch (cDayget(CalendarDAY_OF_WEEK)) {

case 1:

nReturn = 6; // 周日

break;

case 2:

nReturn = 0; // 周一

break;

case 3:

nReturn = 1; // 周二

break;

case 4:

nReturn = 2; // 周三

break;

case 5:

nReturn = 3; // 周四

break;

case 6:

nReturn = 4; // 周五

break;

case 7:

nReturn = 5; // 周六

break;

default:

nReturn = 0;

break;

}

return nReturn;

}

这是我曾经封装的一个方法··循环一下··根据返回值的一个集合 ··就知道有几个周几了··呵呵··

/

获取上周五时间

/

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程序编写如何判定是每月的1号星期几全部的内容,包括:用java程序编写如何判定是每月的1号星期几、java 怎么获取一个月的日期、java 获取某一月的所有周的日期段(周一到周日)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存