📄 dateutil.java
字号:
}
else
{
retn = dayArray[month - 1];
}
return retn;
}
public static synchronized int getLastDayOfMonth( int year, int month )
{
if ( month < 1 || month > 12 )
{
return -1;
}
int retn = 0;
if ( month == 2 )
{
if ( isLeapYear( year ) )
{
retn = 29;
}
else
{
retn = dayArray[month - 1];
}
}
else
{
retn = dayArray[month - 1];
}
return retn;
}
public static synchronized boolean isLeapYear()
{
Calendar cal = Calendar.getInstance();
int year = cal.get( Calendar.YEAR );
return isLeapYear( year );
}
public static synchronized boolean isLeapYear( int year )
{
/**
* 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
* 3.能被4整除同时能被100整除则不是闰年
*/
if ( ( year % 400 ) == 0 )
return true;
else if ( ( year % 4 ) == 0 )
{
if ( ( year % 100 ) == 0 )
return false;
else return true;
}
else return false;
}
/**
* 判断指定日期的年份是否是闰年
*
* @param date
* 指定日期。
* @return 是否闰年
*/
public static synchronized boolean isLeapYear( java.util.Date date )
{
/**
* 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
* 3.能被4整除同时能被100整除则不是闰年
*/
// int year = date.getYear();
GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
gc.setTime( date );
int year = gc.get( Calendar.YEAR );
return isLeapYear( year );
}
public static synchronized boolean isLeapYear( java.util.Calendar gc )
{
/**
* 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
* 3.能被4整除同时能被100整除则不是闰年
*/
int year = gc.get( Calendar.YEAR );
return isLeapYear( year );
}
/**
* 得到指定日期的前一个工作日
*
* @param date
* 指定日期。
* @return 指定日期的前一个工作日
*/
public static synchronized java.util.Date getPreviousWeekDay(
java.util.Date date )
{
{
/**
* 详细设计:
* 1.如果date是星期日,则减3天
* 2.如果date是星期六,则减2天
* 3.否则减1天
*/
GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
gc.setTime( date );
return getPreviousWeekDay( gc );
// switch ( gc.get( Calendar.DAY_OF_WEEK ) )
// {
// case ( Calendar.MONDAY ):
// gc.add( Calendar.DATE, -3 );
// break;
// case ( Calendar.SUNDAY ):
// gc.add( Calendar.DATE, -2 );
// break;
// default:
// gc.add( Calendar.DATE, -1 );
// break;
// }
// return gc.getTime();
}
}
public static synchronized java.util.Date getPreviousWeekDay(
java.util.Calendar gc )
{
{
/**
* 详细设计:
* 1.如果date是星期日,则减3天
* 2.如果date是星期六,则减2天
* 3.否则减1天
*/
switch ( gc.get( Calendar.DAY_OF_WEEK ) )
{
case ( Calendar.MONDAY ):
gc.add( Calendar.DATE, -3 );
break;
case ( Calendar.SUNDAY ):
gc.add( Calendar.DATE, -2 );
break;
default:
gc.add( Calendar.DATE, -1 );
break;
}
return gc.getTime();
}
}
/**
* 得到指定日期的后一个工作日
*
* @param date
* 指定日期。
* @return 指定日期的后一个工作日
*/
public static synchronized java.util.Date getNextWeekDay(
java.util.Date date )
{
/**
* 详细设计:
* 1.如果date是星期五,则加3天
* 2.如果date是星期六,则加2天
* 3.否则加1天
*/
GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
gc.setTime( date );
switch ( gc.get( Calendar.DAY_OF_WEEK ) )
{
case ( Calendar.FRIDAY ):
gc.add( Calendar.DATE, 3 );
break;
case ( Calendar.SATURDAY ):
gc.add( Calendar.DATE, 2 );
break;
default:
gc.add( Calendar.DATE, 1 );
break;
}
return gc.getTime();
}
public static synchronized java.util.Calendar getNextWeekDay(
java.util.Calendar gc )
{
/**
* 详细设计:
* 1.如果date是星期五,则加3天
* 2.如果date是星期六,则加2天
* 3.否则加1天
*/
switch ( gc.get( Calendar.DAY_OF_WEEK ) )
{
case ( Calendar.FRIDAY ):
gc.add( Calendar.DATE, 3 );
break;
case ( Calendar.SATURDAY ):
gc.add( Calendar.DATE, 2 );
break;
default:
gc.add( Calendar.DATE, 1 );
break;
}
return gc;
}
/**
* 取得指定日期的下一个月的最后一天
*
* @param date
* 指定日期。
* @return 指定日期的下一个月的最后一天
*/
public static synchronized java.util.Date getLastDayOfNextMonth(
java.util.Date date )
{
/**
* 详细设计:
* 1.调用getNextMonth设置当前时间
* 2.以1为基础,调用getLastDayOfMonth
*/
GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
gc.setTime( date );
gc.setTime( DateUtil.getNextMonth( gc.getTime() ) );
gc.setTime( DateUtil.getLastDayOfMonth( gc.getTime() ) );
return gc.getTime();
}
/**
* 取得指定日期的下一个星期的最后一天
*
* @param date
* 指定日期。
* @return 指定日期的下一个星期的最后一天
*/
public static synchronized java.util.Date getLastDayOfNextWeek(
java.util.Date date )
{
/**
* 详细设计:
* 1.调用getNextWeek设置当前时间
* 2.以1为基础,调用getLastDayOfWeek
*/
GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
gc.setTime( date );
gc.setTime( DateUtil.getNextWeek( gc.getTime() ) );
gc.setTime( DateUtil.getLastDayOfWeek( gc.getTime() ) );
return gc.getTime();
}
/**
* 取得指定日期的下一个月的第一天
*
* @param date
* 指定日期。
* @return 指定日期的下一个月的第一天
*/
public static synchronized java.util.Date getFirstDayOfNextMonth(
java.util.Date date )
{
/**
* 详细设计:
* 1.调用getNextMonth设置当前时间
* 2.以1为基础,调用getFirstDayOfMonth
*/
GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
gc.setTime( date );
gc.setTime( DateUtil.getNextMonth( gc.getTime() ) );
gc.setTime( DateUtil.getFirstDayOfMonth( gc.getTime() ) );
return gc.getTime();
}
public static synchronized java.util.Calendar getFirstDayOfNextMonth(
java.util.Calendar gc )
{
/**
* 详细设计:
* 1.调用getNextMonth设置当前时间
* 2.以1为基础,调用getFirstDayOfMonth
*/
gc.setTime( DateUtil.getNextMonth( gc.getTime() ) );
gc.setTime( DateUtil.getFirstDayOfMonth( gc.getTime() ) );
return gc;
}
/**
* 取得指定日期的下一个星期的第一天
*
* @param date
* 指定日期。
* @return 指定日期的下一个星期的第一天
*/
public static synchronized java.util.Date getFirstDayOfNextWeek(
java.util.Date date )
{
/**
* 详细设计:
* 1.调用getNextWeek设置当前时间
* 2.以1为基础,调用getFirstDayOfWeek
*/
GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
gc.setTime( date );
gc.setTime( DateUtil.getNextWeek( gc.getTime() ) );
gc.setTime( DateUtil.getFirstDayOfWeek( gc.getTime() ) );
return gc.getTime();
}
public static synchronized java.util.Calendar getFirstDayOfNextWeek(
java.util.Calendar gc )
{
/**
* 详细设计:
* 1.调用getNextWeek设置当前时间
* 2.以1为基础,调用getFirstDayOfWeek
*/
gc.setTime( DateUtil.getNextWeek( gc.getTime() ) );
gc.setTime( DateUtil.getFirstDayOfWeek( gc.getTime() ) );
return gc;
}
/**
* 取得指定日期的下一个月
*
* @param date
* 指定日期。
* @return 指定日期的下一个月
*/
public static synchronized java.util.Date getNextMonth( java.util.Date date )
{
/**
* 详细设计:
* 1.指定日期的月份加1
*/
GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
gc.setTime( date );
gc.add( Calendar.MONTH, 1 );
return gc.getTime();
}
public static synchronized java.util.Calendar getNextMonth( java.util.Calendar gc )
{
/**
* 详细设计:
* 1.指定日期的月份加1
*/
gc.add( Calendar.MONTH, 1 );
return gc;
}
/**
* 取得指定日期的下一天
*
* @param date
* 指定日期。
* @return 指定日期的下一天
*/
public static synchronized java.util.Date getNextDay( java.util.Date date )
{
/**
* 详细设计: 1.指定日期加1天
*/
GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
gc.setTime( date );
gc.add( Calendar.DATE, 1 );
return gc.getTime();
}
public static synchronized java.util.Calendar getNextDay( java.util.Calendar gc )
{
/**
* 详细设计: 1.指定日期加1天
*/
gc.add( Calendar.DATE, 1 );
return gc;
}
/**
* 取得指定日期的下一个星期
*
* @param date
* 指定日期。
* @return 指定日期的下一个星期
*/
public static synchronized java.util.Date getNextWeek( java.util.Date date )
{
/**
* 详细设计:
* 1.指定日期加7天
*/
GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
gc.setTime( date );
gc.add( Calendar.DATE, 7 );
return gc.getTime();
}
public static synchronized java.util.Calendar getNextWeek( java.util.Calendar gc )
{
/**
* 详细设计:
* 1.指定日期加7天
*/
gc.add( Calendar.DATE, 7 );
return gc;
}
/**
* 取得指定日期的所处星期的最后一天
*
* @param date
* 指定日期。
* @return 指定日期的所处星期的最后一天
*/
public static synchronized java.util.Date getLastDayOfWeek(
java.util.Date date )
{
/**
* 详细设计:
* 1.如果date是星期日,则加6天
* 2.如果date是星期一,则加5天
* 3.如果date是星期二,则加4天
* 4.如果date是星期三,则加3天
* 5.如果date是星期四,则加2天
* 6.如果date是星期五,则加1天
* 7.如果date是星期六,则加0天
*/
GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
gc.setTime( date );
switch ( gc.get( Calendar.DAY_OF_WEEK ) )
{
case ( Calendar.SUNDAY ):
gc.add( Calendar.DATE, 6 );
break;
case ( Calendar.MONDAY ):
gc.add( Calendar.DATE, 5 );
break;
case ( Calendar.TUESDAY ):
gc.add( Calendar.DATE, 4 );
break;
case ( Calendar.WEDNESDAY ):
gc.add( Calendar.DATE, 3 );
break;
case ( Calendar.THURSDAY ):
gc.add( Calendar.DATE, 2 );
break;
case ( Calendar.FRIDAY ):
gc.add( Calendar.DATE, 1 );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -