JAVA常用日历日期时间星期工具类封装方法非常多.docx

上传人:b****7 文档编号:9062711 上传时间:2023-02-03 格式:DOCX 页数:23 大小:21.35KB
下载 相关 举报
JAVA常用日历日期时间星期工具类封装方法非常多.docx_第1页
第1页 / 共23页
JAVA常用日历日期时间星期工具类封装方法非常多.docx_第2页
第2页 / 共23页
JAVA常用日历日期时间星期工具类封装方法非常多.docx_第3页
第3页 / 共23页
JAVA常用日历日期时间星期工具类封装方法非常多.docx_第4页
第4页 / 共23页
JAVA常用日历日期时间星期工具类封装方法非常多.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

JAVA常用日历日期时间星期工具类封装方法非常多.docx

《JAVA常用日历日期时间星期工具类封装方法非常多.docx》由会员分享,可在线阅读,更多相关《JAVA常用日历日期时间星期工具类封装方法非常多.docx(23页珍藏版)》请在冰豆网上搜索。

JAVA常用日历日期时间星期工具类封装方法非常多.docx

JAVA常用日历日期时间星期工具类封装方法非常多

JAVA常用日历|日期|时间|星期工具类(封装方法非常多)

相信大部分程序语言都需要处理日期、日历和时间相关的数据。

本工具类是基于JAVA语言,封装了常用的方法,这些方法来源于各种实际项目,大部分都是会直接用到的。

此工具类不依赖第三方JAR包,可以直接放入您的项目中使用。

方法全是自己手写的,若有不正确之处还请指出。

此工具类会不断更新完善,有需要的就收藏一下吧

importjava.text.ParseException;

importjava.text.SimpleDateFormat;

importjava.util.Arrays;

importjava.util.Calendar;

importjava.util.Date;

importjava.util.GregorianCalendar;

/**

*日历日期工具类

*@decription提供常用的获取日期、星期、周数以及转换操作

*@authorZebe

*@date2014/11/27

*@version1.0.2

*/publicclassCalendarUtil{

privatestaticintWEEKS=0;

privatestaticSimpleDateFormatSDF=newSimpleDateFormat("yyyy-MM-dd");

privatestaticSimpleDateFormatSDFT=newSimpleDateFormat("yyyy-MM-ddHH:

mm:

ss");

/**

*获取当前年份

*@returnString例如:

2014

*/

publicstaticStringgetYear(){

Calendarcd=Calendar.getInstance();

returnString.valueOf(cd.get(Calendar.YEAR));

}

/**

*获取某个日期中的年份

*@returnString例如:

2014-05-16返回2014

*/

publicstaticStringgetYearOfDate(Stringdate){

Calendarcd=Calendar.getInstance();

try{

cd.setTime(SDF.parse(date));

}catch(Exceptione){

e.printStackTrace();

}

returnString.valueOf(cd.get(Calendar.YEAR));

}

/**

*获取当前月份

*@returnString例如:

4

*/

publicstaticStringgetMonth(){

Calendarcd=Calendar.getInstance();

returnString.valueOf(cd.get(Calendar.MONTH)+1);

}

/**

*获取某个日期中的月份

*@returnString例如:

2014-05-16返回5

*/

publicstaticStringgetMonthOfDate(Stringdate){

Calendarcd=Calendar.getInstance();

try{

cd.setTime(SDF.parse(date));

}catch(Exceptione){

e.printStackTrace();

}

returnString.valueOf(cd.get(Calendar.MONTH)+1);

}

/**

*获取日期中的英文月份缩写

*@returnString

*/

publicstaticStringgetMonthShortEnNameOfDate(Stringdate){

Calendarcd=Calendar.getInstance();

Stringresult="";

try{

cd.setTime(SDF.parse(date));

intmonth=cd.get(Calendar.MONTH)+1;

switch(month){

case1:

result="JAN";

break;

case2:

result="FEB";

break;

case3:

result="MAR";

break;

case4:

result="APR";

break;

case5:

result="MAY";

break;

case6:

result="JUN";

break;

case7:

result="JUL";

break;

case8:

result="AUG";

break;

case9:

result="SEP";

break;

case10:

result="OCT";

break;

case11:

result="NOV";

break;

case12:

result="DEC";

break;

}

}catch(Exceptione){

e.printStackTrace();

}

returnresult;

}

/**

*获取当前日期

*@returnString例如:

23

*/

publicstaticStringgetDay(){

Calendarcd=Calendar.getInstance();

returnString.valueOf(cd.get(Calendar.DAY_OF_MONTH));

}

/**

*获取某个日期中的日期

*@returnString例如:

2014-05-16返回16

*/

publicstaticStringgetDayOfDate(Stringdate){

Calendarcd=Calendar.getInstance();

try{

cd.setTime(SDF.parse(date));

}catch(Exceptione){

e.printStackTrace();

}

returnString.valueOf(cd.get(Calendar.DAY_OF_MONTH));

}

/**

*获取昨天日期

*@returnyyyy-MM-dd

*/

publicstaticStringgetYesterday(){

Calendarcal=Calendar.getInstance();

try{

cal.setTime(SDF.parse(getToday()));

cal.add(Calendar.DAY_OF_YEAR,-1);

}catch(Exceptione){

e.printStackTrace();

}

returnSDF.format(cal.getTime());

}

/**

*获取今天日期

*@returnyyyy-MM-dd

*/

publicstaticStringgetToday(){

returnSDF.format(newDate());

}

/**

*获取明天日期

*@returnyyyy-MM-dd

*/

publicstaticStringgetTommorow(){

Calendarcal=Calendar.getInstance();

try{

cal.setTime(SDF.parse(getToday()));

cal.add(Calendar.DAY_OF_YEAR,+1);

}catch(Exceptione){

e.printStackTrace();

}

returnSDF.format(cal.getTime());

}

/**

*获取当前日期和时间

*@returnyyyy-MM-ddHH:

mm:

ss

*/

publicstaticStringgetDateTime(){

returnSDFT.format(newDate());

}

/**

*获得当前日期与本周一相差的天数

*@returnint

*/

privatestaticintgetMondayPlus(){

Calendarcd=Calendar.getInstance();

//获得今天是一周的第几天,星期日是第一天,星期二是第二天......

intdayOfWeek=cd.get(Calendar.DAY_OF_WEEK);

if(dayOfWeek==1){

return-6;

}else{

return2-dayOfWeek;

}

}

/**

*获得上周星期一的日期

*@returnyyyy-MM-dd

*/

publicstaticStringgetPreMonday(){

WEEKS--;

intmondayPlus=getMondayPlus();

GregorianCalendarcurrentDate=newGregorianCalendar();

currentDate.add(GregorianCalendar.DATE,mondayPlus+7*WEEKS);

Datemonday=currentDate.getTime();

SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");

returnsdf.format(monday);

}

/**

*获得本周星期一的日期

*@returnyyyy-MM-dd

*/

publicstaticStringgetMonday(){

WEEKS=0;

intmondayPlus=getMondayPlus();

GregorianCalendarcurrentDate=newGregorianCalendar();

currentDate.add(GregorianCalendar.DATE,mondayPlus);

Datemonday=currentDate.getTime();

SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");

returnsdf.format(monday);

}

/**

*获得下周星期一的日期

*@returnyyyy-MM-dd

*/

publicstaticStringgetNextMonday(){

WEEKS++;

intmondayPlus=getMondayPlus();

GregorianCalendarcurrentDate=newGregorianCalendar();

currentDate.add(GregorianCalendar.DATE,mondayPlus+7*WEEKS);

Datemonday=currentDate.getTime();

SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");

returnsdf.format(monday);

}

/**

*获取某一年第几周的星期一

*@returnyyyy-MM-dd

*/

publicstaticStringgetMondayOfWeek(intyear,intweek){

Calendarcal=Calendar.getInstance();

cal.setFirstDayOfWeek(Calendar.MONDAY);

cal.clear();

cal.set(Calendar.YEAR,year);

cal.set(Calendar.WEEK_OF_YEAR,week);

cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);

returnSDF.format(cal.getTime());

}

/**

*获取某一年第几周的星期日

*@returnyyyy-MM-dd

*/

publicstaticStringgetSundayOfWeek(intyear,intweek){

Calendarcal=Calendar.getInstance();

cal.setFirstDayOfWeek(Calendar.MONDAY);

cal.clear();

cal.set(Calendar.YEAR,year);

cal.set(Calendar.WEEK_OF_YEAR,week);

cal.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);

returnSDF.format(cal.getTime());

}

/**

*获取指定周星期日的日期

*@returnyyyy-MM-dd

*/

publicstaticStringgetSunday(){

intmondayPlus=getMondayPlus();

GregorianCalendarcurrentDate=newGregorianCalendar();

currentDate.add(GregorianCalendar.DATE,mondayPlus+7*WEEKS+6);

Datemonday=currentDate.getTime();

SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");

returnsdf.format(monday);

}

/**

*获取当前周是本月的第几周

*@returnString

*/

publicstaticintgetWeekOfMonth(){

Calendarcd=Calendar.getInstance();

cd.setFirstDayOfWeek(Calendar.MONDAY);

returncd.get(Calendar.WEEK_OF_MONTH);

}

/**

*获取当前周是本年的第几周

*@returnString

*/

publicstaticintgetWeekOfYear(){

Calendarcd=Calendar.getInstance();

cd.setFirstDayOfWeek(Calendar.MONDAY);

returncd.get(Calendar.WEEK_OF_YEAR);

}

/**

*获取本月第一天

*@paramdate

*@returnyyyy-MM-dd

*/

publicstaticStringgetFirstDayOfThisMonth(){

Stringyear=getYear();

Stringmonth=getMonth();

if(month.length()==1){

returnyear+"-0"+month+"-01";

}

returnyear+"-"+month+"-01";

}

/**

*获取本月最后一天

*@paramdate

*@returnyyyy-MM-dd

*/

publicstaticStringgetLastDayOfThisMonth(){

Calendarcalendar=Calendar.getInstance();

try{

calendar.set(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH)+1,1);

calendar.add(Calendar.DATE,-1);

}catch(Exceptione){

e.printStackTrace();

}

returnSDF.format(calendar.getTime());

}

/**

*获取指定年份月份的最后一天(整形参数)

*@parammonth

*@returnyyyy-MM-dd

*/

publicstaticStringgetLastDayOfMonth(intyear,intmonth){

Calendarcalendar=Calendar.getInstance();

try{

calendar.set(year,month,1);

calendar.add(Calendar.DATE,-1);

}catch(Exceptione){

e.printStackTrace();

}

returnSDF.format(calendar.getTime());

}

/**

*获取指定年份月份的最后一天(字符串参数)

*@parammonth

*@returnyyyy-MM-dd

*/

publicstaticStringgetLastDayOfMonth(Stringyear,Stringmonth){

inty=Integer.parseInt(year);

intm=Integer.parseInt(month);

returngetLastDayOfMonth(y,m);

}

/**

*获取两个日期之间相差天数

*@paramfromDay

*@paramtoDay

*@returnlong

*/

publicstaticlonggetDaysBetween(StringfromDay,StringtoDay){

longdays=0;

try{

Dated1=SDF.parse(fromDay);

Dated2=SDF.parse(toDay);

longdiff=d2.getTime()-d1.getTime();

days=diff/(1000*60*60*24);

}catch(Exceptione){

e.printStackTrace();

}

returndays;

}

/**

*按指定格式转换日期对象为字符串

*@paramdate日期对象

*@paramformat日期格式,如:

yyyy-MM-ddHH:

mm:

ss

*@returnString

*/

publicstaticStringconvertDateToString(Datedate,Stringformat){

SimpleDateFormatmySDF=newSimpleDateFormat(format);

StringdateStr=mySDF.format(date);

returndateStr;

}

/**

*按指定格式转换字符串为日期对象

*@paramdate字符串日期

*@paramformat日期格式,如:

yyyy-MM-ddHH:

mm:

ss

*@returnString

*/

publicstaticDateconvertStringToDate(Stringdate,Stringformat){

try{

SimpleDateFormatmySDF=newSimpleDateFormat(format);

DatedateTemp=mySDF.parse(date);

returndateTemp;

}catch(Exceptione){

e.printStackTrace();

returnnull;

}

}

/**

*获取指定分钟前的时间字符串

*@paramminute分钟

*@returnStringyyyy-MM-ddHH:

mm:

ss

*/

publicstaticStringgetPastTimeByMinute(intminute){

Datedate=newDate(newDate().getTime()-(minute*60*1000));

returnconvertDateToString(date,"yyyy-MM-ddHH:

mm:

ss");

}

/**

*获取指定分钟前的时间字符串(自定义格式)

*@paramminute分钟

*@paramformat日期格式,如:

yyyy-MM-ddHH:

mm:

ss

*@returnString

*/

publicstaticString

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1