首页 > 编程知识 正文

java获取当前月份天数,java 日期加一天

时间:2023-05-05 14:17:24 阅读:149599 作者:980

一.获得现在的日期是本月的第几周

//*

*获取当前日期是本月的第几周? (根据这个月的星期三有几个来判断)

*@paramdateStr日期(形式: yyyy-MM-dd ) ) ) ) ) ) ) ) ) ) ) ) )。

*@return第n周

*@throwsException

*/

publicstaticintgetweekbywed (string datestr ) throwsException{

simpledateformatsdf=newsimpledateformat (yyyy-mm-DD ); //设定时间格式

datedate=SDF.parse(datestr;

calendar calendar=calendar.getinstance (;

calendar.settime(date;

//判断要计算的日期是否是星期天,减去一天计算星期六。 否则会出现问题,将在下一周计算

intday week=calendar.get (calendar.day _ of _ week ); /一周的第几天获取当前日期

if (1==天week ) {

calendar.add (calendar.day _ of _ month,-1);

}

安排一周的第一天。 按照中国的习惯,一周的第一天是星期一

calendar.setfirstdayofweek (calendar.Monday;

/一周的第几天获取当前日期

intday=calendar.get (calendar.day _ of _ week );

根据/日历的规则,从当前日期减去星期几和星期几的第一天之差,就是星期一

calendar.add(calendar.date,calendar.getFirstDayOfWeek ()-day );

calendar.add(calendar.date,2 ); //加2天就是星期三

//收到传入日本的这一周的星期三

string wed=SDF.format (calendar.gettime );

//本月天数

intdays=calendar.getactualmaximum (calendar.day _ of _ month );

intwek=3; //判断为星期三

intindex=0; //本月的第几个星期三

Listlist=newArrayList (;

for(inti=1; i=days; I ) {

calendar.set (calendar.day _ of _ month,I );

intweekd=calendar.get (calendar.day _ of _ week )-1; 注意,Calendar对象的默认星期天为1

if(weekd==wek ) {

string AAA=SDF.format (calendar.gettime );

list.add(AAA;

if(wed.equals(AAA ) ) }

index=list.size (;

}

}

}

返回索引;

}

二.取得指定日期的月有几周

//*

*获取指定日期的月份有多少周

*@paramdateStr

*@return

*@throwsException

*/

publicstaticintgetmonthweek (string datestr ) {

returnweekend(datestr,3 );

}

//*

*取得日的月是星期几

*@paramdateStr日期

*@parama星期几

*@return

*/

publicstaticintweekend (string datestr,inta ) {

数据格式格式=newsimpledateformat (yyyy-mm-DD );

intsunDay=0; //计数

try{

//获得本月的第一天

string start=dateutils.getfirstdaydateofmonth (datestr );

//获得本月的最后一天

string end=dateutils.getlastdayofmonth (datestr );

calendar start date=calendar.getinstance (; //开始时间

startdate.settime(format.parse ) start );

calendar end date=calendar.getinstance (; //结束时间

enddate.settime(format.parse ) end );

intsw=start date.get (calendar.day _ of _ week )-1; //开始日期是星期几

intew=end date.get (calendar.day _ of _ week )-1; //结束日期是星期几

long diff=end date.gettimeinmillis (-start date.gettimeinmillis );

longdays=diff/(1000*60*60*24 ); //指定的时间段一共有几天

longw=math.round(math.ceil () ) (daysSW(7-ew )/7.0 ) )//在给定的时间内,总共有多少周

Sunday=(int ) w; //每周日统计数

if(a

圣代---;

if(aew )//给定的星期数必须大于结束日期的星期数,并减少一天

圣代---;

}catch(exceptionse ) {

se.printStackTrace (;

}

returnsunDay;

}

三.取得传来日本之月的第一天和最后一天

//*

*获取到达日期月的第一天

*@paramdateStr

*@return

*/

publicstaticstringgetfirstdaydateofmonth (string datestr ) )。

datedate=dateutils.parse (datestr;

calendar cal=calendar.getinstance (;

cal.settime(date;

intlast=cal.getactualminimum (calendar.day _ of _ month );

cal.set(calendar.day_of_month,last );

//格式化日期

simpledateformatsdf=newsimpledateformat (yyyy-mm-DD );

returnSDF.format(cal.gettime ) );

}

//*

*获取到达日期月的最后一天

*@paramdateStr

*@return

*/

公共数据传输平台(stringgetlastdayofmonth )。

datedate=dateutils.parse (datestr;

calendar cal=calendar.getinstance (;

cal.settime(date;

intlast=cal.getactualmaximum (calendar.day _ of _ month );

cal.set(calendar.day_of_month,last );

//格式化日期

simpledateformatsdf=newsimpledateformat (yyyy-mm-DD );

returnSDF.format(cal.gettime ) );

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。