通用日期处理函数,日期处理大全 -凯发k8网页登录

北极心空

  凯发k8网页登录-凯发天生赢家一触即发官网 :: 凯发k8网页登录首页 :: 联系 :: 聚合  :: 管理
  15 posts :: 393 stories :: 160 comments :: 0 trackbacks
通用日期处理函数,日期处理大全

package com.elink.util;
 
import java.text.*;
import java.util.*;
public class dateutil
{
 
private static final int[] dayarray = new int[]
  { 
312831303130313130313031 };
 
private static simpledateformat sdf = new simpledateformat();
 
public static synchronized calendar getcalendar()
 {
  
return gregoriancalendar.getinstance();
 }
 
/**
  
@return string
  
*/
 
public static synchronized string getdatemilliformat()
 {
  calendar cal 
= calendar.getinstance();
  
return getdatemilliformat( cal );
 }
 
/**
  
@param cal
  
@return string
  
*/
 
public static synchronized string getdatemilliformat( java.util.calendar cal )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss,sss";
  
return getdateformat( cal, pattern );
 }
 
/**
  
@param date
  
@return string
  
*/
 
public static synchronized string getdatemilliformat( java.util.date date )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss,sss";
  
return getdateformat( date, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.calendar
  
*/
 
public static synchronized calendar parsecalendarmilliformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss,sss";
  
return parsecalendarformat( strdate, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.date
  
*/
 
public static synchronized date parsedatemilliformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss,sss";
  
return parsedateformat( strdate, pattern );
 }
 
/**
  
@return string
  
*/
 
public static synchronized string getdatesecondformat()
 {
  calendar cal 
= calendar.getinstance();
  
return getdatesecondformat( cal );
 }
 
/**
  
@param cal
  
@return string
  
*/
 
public static synchronized string getdatesecondformat( java.util.calendar cal )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return getdateformat( cal, pattern );
 }
 
/**
  
@param date
  
@return string
  
*/
 
public static synchronized string getdatesecondformat( java.util.date date )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return getdateformat( date, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.calendar
  
*/
 
public static synchronized calendar parsecalendarsecondformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return parsecalendarformat( strdate, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.date
  
*/
 
public static synchronized date parsedatesecondformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return parsedateformat( strdate, pattern );
 }
 
/**
  
@return string
  
*/
 
public static synchronized string getdateminuteformat()
 {
  calendar cal 
= calendar.getinstance();
  
return getdateminuteformat( cal );
 }
 
/**
  
@param cal
  
@return string
  
*/
 
public static synchronized string getdateminuteformat( java.util.calendar cal )
 {
  string pattern 
= "yyyy-mm-dd hh:mm";
  
return getdateformat( cal, pattern );
 }
 
/**
  
@param date
  
@return string
  
*/
 
public static synchronized string getdateminuteformat( java.util.date date )
 {
  string pattern 
= "yyyy-mm-dd hh:mm";
  
return getdateformat( date, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.calendar
  
*/
 
public static synchronized calendar parsecalendarminuteformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd hh:mm";
  
return parsecalendarformat( strdate, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.date
  
*/
 
public static synchronized date parsedateminuteformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd hh:mm";
  
return parsedateformat( strdate, pattern );
 }
 
/**
  
@return string
  
*/
 
public static synchronized string getdatedayformat()
 {
  calendar cal 
= calendar.getinstance();
  
return getdatedayformat( cal );
 }
 
/**
  
@param cal
  
@return string
  
*/
 
public static synchronized string getdatedayformat( java.util.calendar cal )
 {
  string pattern 
= "yyyy-mm-dd";
  
return getdateformat( cal, pattern );
 }
 
/**
  
@param date
  
@return string
  
*/
 
public static synchronized string getdatedayformat( java.util.date date )
 {
  string pattern 
= "yyyy-mm-dd";
  
return getdateformat( date, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.calendar
  
*/
 
public static synchronized calendar parsecalendardayformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd";
  
return parsecalendarformat( strdate, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.date
  
*/
 
public static synchronized date parsedatedayformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd";
  
return parsedateformat( strdate, pattern );
 }
 
/**
  
@return string
  
*/
 
public static synchronized string getdatefileformat()
 {
  calendar cal 
= calendar.getinstance();
  
return getdatefileformat( cal );
 }
 
/**
  
@param cal
  
@return string
  
*/
 
public static synchronized string getdatefileformat( java.util.calendar cal )
 {
  string pattern 
= "yyyy-mm-dd_hh-mm-ss";
  
return getdateformat( cal, pattern );
 }
 
/**
  
@param date
  
@return string
  
*/
 
public static synchronized string getdatefileformat( java.util.date date )
 {
  string pattern 
= "yyyy-mm-dd_hh-mm-ss";
  
return getdateformat( date, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.calendar
  
*/
 
public static synchronized calendar parsecalendarfileformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd_hh-mm-ss";
  
return parsecalendarformat( strdate, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.date
  
*/
 
public static synchronized date parsedatefileformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd_hh-mm-ss";
  
return parsedateformat( strdate, pattern );
 }
 
/**
  
@return string
  
*/
 
public static synchronized string getdatew3cformat()
 {
  calendar cal 
= calendar.getinstance();
  
return getdatew3cformat( cal );
 }
 
/**
  
@param cal
  
@return string
  
*/
 
public static synchronized string getdatew3cformat( java.util.calendar cal )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return getdateformat( cal, pattern );
 }
 
/**
  
@param date
  
@return string
  
*/
 
public static synchronized string getdatew3cformat( java.util.date date )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return getdateformat( date, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.calendar
  
*/
 
public static synchronized calendar parsecalendarw3cformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return parsecalendarformat( strdate, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.date
  
*/
 
public static synchronized date parsedatew3cformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return parsedateformat( strdate, pattern );
 }
 
/**
  
@param cal
  
@return string
  
*/
 
public static synchronized string getdateformat( java.util.calendar cal )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return getdateformat( cal, pattern );
 }
 
/**
  
@param date
  
@return string
  
*/
 
public static synchronized string getdateformat( java.util.date date )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return getdateformat( date, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.calendar
  
*/
 
public static synchronized calendar parsecalendarformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return parsecalendarformat( strdate, pattern );
 }
 
/**
  
@param strdate
  
@return java.util.date
  
*/
 
public static synchronized date parsedateformat( string strdate )
 {
  string pattern 
= "yyyy-mm-dd hh:mm:ss";
  
return parsedateformat( strdate, pattern );
 }
 
/**
  
@param cal
  
@param pattern
  
@return string
  
*/
 
public static synchronized string getdateformat( java.util.calendar cal, string pattern )
 {
  
return getdateformat( cal.gettime(), pattern );
 }
 
/**
  
@param date
  
@param pattern
  
@return string
  
*/
 
public static synchronized string getdateformat( java.util.date date, string pattern )
 {
  
synchronized ( sdf )
  {
   string str 
= null;
   sdf.applypattern( pattern );
   str 
= sdf.format( date );
   
return str;
  }
 }
 
/**
  
@param strdate
  
@param pattern
  
@return java.util.calendar
  
*/
 
public static synchronized calendar parsecalendarformat( string strdate, string pattern )
 {
  
synchronized ( sdf )
  {
   calendar cal 
= null;
   sdf.applypattern( pattern );
   
try
   {
    sdf.parse( strdate );
    cal 
= sdf.getcalendar();
   }
   
catch ( exception e )
   {
   }
   
return cal;
  }
 }
 
/**
  
@param strdate
  
@param pattern
  
@return java.util.date
  
*/
 
public static synchronized date parsedateformat( string strdate, string pattern )
 {
  
synchronized ( sdf )
  {
   date date 
= null;
   sdf.applypattern( pattern );
   
try
   {
    date 
= sdf.parse( strdate );
   }
   
catch ( exception e )
   {
   }
   
return date;
  }
 }
 
public static synchronized int getlastdayofmonth( int month )
 {
  
if ( month < 1 || month > 12 )
  {
   
return -1;
  }
  
int retn = 0;
  
if ( month == 2 )
  {
   
if ( isleapyear() )
   {
    retn 
= 29;
   }
   
else
   {
    retn 
= dayarray[month - 1];
   }
  }
  
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 );
    
break;
   
case ( calendar.saturday  ):
    gc.add( calendar.date, 
0 );
    
break;
  }
  
return gc.gettime();
 }
 
/**
  * 取得指定日期的所处星期的第一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的所处星期的第一天
  
*/
 
public static synchronized java.util.date getfirstdayofweek(
  java.util.date date )
 {
  
/**
   * 详细设计: 
   * 1.如果date是星期日,则减0天 
   * 2.如果date是星期一,则减1天 
   * 3.如果date是星期二,则减2天
   * 4.如果date是星期三,则减3天 
   * 5.如果date是星期四,则减4天 
   * 6.如果date是星期五,则减5天
   * 7.如果date是星期六,则减6天
   
*/
  gregoriancalendar gc 
= ( gregoriancalendar ) calendar.getinstance();
  gc.settime( date );
  
switch ( gc.get( calendar.day_of_week ) )
  {
   
case ( calendar.sunday  ):
    gc.add( calendar.date, 
0 );
    
break;
   
case ( calendar.monday  ):
    gc.add( calendar.date, 
-1 );
    
break;
   
case ( calendar.tuesday  ):
    gc.add( calendar.date, 
-2 );
    
break;
   
case ( calendar.wednesday  ):
    gc.add( calendar.date, 
-3 );
    
break;
   
case ( calendar.thursday  ):
    gc.add( calendar.date, 
-4 );
    
break;
   
case ( calendar.friday  ):
    gc.add( calendar.date, 
-5 );
    
break;
   
case ( calendar.saturday  ):
    gc.add( calendar.date, 
-6 );
    
break;
  }
  
return gc.gettime();
 }
 
 
public static synchronized java.util.calendar getfirstdayofweek(
  java.util.calendar gc )
 {
  
/**
   * 详细设计: 
   * 1.如果date是星期日,则减0天 
   * 2.如果date是星期一,则减1天 
   * 3.如果date是星期二,则减2天
   * 4.如果date是星期三,则减3天 
   * 5.如果date是星期四,则减4天 
   * 6.如果date是星期五,则减5天
   * 7.如果date是星期六,则减6天
   
*/
  
switch ( gc.get( calendar.day_of_week ) )
  {
   
case ( calendar.sunday  ):
    gc.add( calendar.date, 
0 );
    
break;
   
case ( calendar.monday  ):
    gc.add( calendar.date, 
-1 );
    
break;
   
case ( calendar.tuesday  ):
    gc.add( calendar.date, 
-2 );
    
break;
   
case ( calendar.wednesday  ):
    gc.add( calendar.date, 
-3 );
    
break;
   
case ( calendar.thursday  ):
    gc.add( calendar.date, 
-4 );
    
break;
   
case ( calendar.friday  ):
    gc.add( calendar.date, 
-5 );
    
break;
   
case ( calendar.saturday  ):
    gc.add( calendar.date, 
-6 );
    
break;
  }
  
return gc;
 }
 
/**
  * 取得指定日期的所处月份的最后一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的所处月份的最后一天
  
*/
 
public static synchronized java.util.date getlastdayofmonth(
  java.util.date date )
 {
  
/**
   * 详细设计: 
   * 1.如果date在1月,则为31日 
   * 2.如果date在2月,则为28日 
   * 3.如果date在3月,则为31日
   * 4.如果date在4月,则为30日 
   * 5.如果date在5月,则为31日 
   * 6.如果date在6月,则为30日
   * 7.如果date在7月,则为31日 
   * 8.如果date在8月,则为31日 
   * 9.如果date在9月,则为30日
   * 10.如果date在10月,则为31日 
   * 11.如果date在11月,则为30日 
   * 12.如果date在12月,则为31日
   * 1.如果date在闰年的2月,则为29日
   
*/
  gregoriancalendar gc 
= ( gregoriancalendar ) calendar.getinstance();
  gc.settime( date );
  
switch ( gc.get( calendar.month ) )
  {
   
case 0:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 1:
    gc.set( calendar.day_of_month, 
28 );
    
break;
   
case 2:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 3:
    gc.set( calendar.day_of_month, 
30 );
    
break;
   
case 4:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 5:
    gc.set( calendar.day_of_month, 
30 );
    
break;
   
case 6:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 7:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 8:
    gc.set( calendar.day_of_month, 
30 );
    
break;
   
case 9:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 10:
    gc.set( calendar.day_of_month, 
30 );
    
break;
   
case 11:
    gc.set( calendar.day_of_month, 
31 );
    
break;
  }
  
//检查闰年
  if ( ( gc.get( calendar.month ) == calendar.february )
   
&& ( isleapyear( gc.get( calendar.year ) ) ) )
  {
   gc.set( calendar.day_of_month, 
29 );
  }
  
return gc.gettime();
 }
 
 
public static synchronized java.util.calendar getlastdayofmonth(
  java.util.calendar gc )
 {
  
/**
   * 详细设计: 
   * 1.如果date在1月,则为31日 
   * 2.如果date在2月,则为28日 
   * 3.如果date在3月,则为31日
   * 4.如果date在4月,则为30日 
   * 5.如果date在5月,则为31日 
   * 6.如果date在6月,则为30日
   * 7.如果date在7月,则为31日 
   * 8.如果date在8月,则为31日 
   * 9.如果date在9月,则为30日
   * 10.如果date在10月,则为31日 
   * 11.如果date在11月,则为30日 
   * 12.如果date在12月,则为31日
   * 1.如果date在闰年的2月,则为29日
   
*/
  
switch ( gc.get( calendar.month ) )
  {
   
case 0:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 1:
    gc.set( calendar.day_of_month, 
28 );
    
break;
   
case 2:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 3:
    gc.set( calendar.day_of_month, 
30 );
    
break;
   
case 4:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 5:
    gc.set( calendar.day_of_month, 
30 );
    
break;
   
case 6:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 7:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 8:
    gc.set( calendar.day_of_month, 
30 );
    
break;
   
case 9:
    gc.set( calendar.day_of_month, 
31 );
    
break;
   
case 10:
    gc.set( calendar.day_of_month, 
30 );
    
break;
   
case 11:
    gc.set( calendar.day_of_month, 
31 );
    
break;
  }
  
//检查闰年
  if ( ( gc.get( calendar.month ) == calendar.february )
   
&& ( isleapyear( gc.get( calendar.year ) ) ) )
  {
   gc.set( calendar.day_of_month, 
29 );
  }
  
return gc;
 }
 
/**
  * 取得指定日期的所处月份的第一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的所处月份的第一天
  
*/
 
public static synchronized java.util.date getfirstdayofmonth( java.util.date date )
 {
  
/**
   * 详细设计: 1.设置为1号
   
*/
  gregoriancalendar gc 
= ( gregoriancalendar ) calendar.getinstance();
  gc.settime( date );
  gc.set( calendar.day_of_month, 
1 );
  
return gc.gettime();
 }
 
 
public static synchronized java.util.calendar getfirstdayofmonth( java.util.calendar gc )
 {
  
/**
   * 详细设计: 1.设置为1号
   
*/
  gc.set( calendar.day_of_month, 
1 );
  
return gc;
 }
 
/**
  * 将日期对象转换成为指定ora日期、时间格式的字符串形式。如果日期对象为空,返回 一个空字符串对象,而不是一个空对象。
  * 
  * 
@param thedate
  *            将要转换为字符串的日期对象。
  * 
@param hastime
  *            如果返回的字符串带时间则为true
  * 
@return 转换的结果
  
*/
 
public static synchronized string toorastring( date thedate, boolean hastime )
 {
  
/**
   * 详细设计: 
   * 1.如果有时间,则设置格式为getoradatetimeformat()的返回值
   * 2.否则设置格式为getoradateformat()的返回值 
   * 3.调用tostring(date thedate, dateformat
   * thedateformat)
   
*/
  dateformat theformat;
  
if ( hastime )
  {
   theformat 
= getoradatetimeformat();
  }
  
else
  {
   theformat 
= getoradateformat();
  }
  
return tostring( thedate, theformat );
 }
 
/**
  * 将日期对象转换成为指定日期、时间格式的字符串形式。如果日期对象为空,返回 一个空字符串对象,而不是一个空对象。
  * 
  * 
@param thedate
  *            将要转换为字符串的日期对象。
  * 
@param hastime
  *            如果返回的字符串带时间则为true
  * 
@return 转换的结果
  
*/
 
public static synchronized string tostring( date thedate, boolean hastime )
 {
  
/**
   * 详细设计: 
   * 1.如果有时间,则设置格式为getdatetimeformat的返回值 
   * 2.否则设置格式为getdateformat的返回值
   * 3.调用tostring(date thedate, dateformat thedateformat)
   
*/
  dateformat theformat;
  
if ( hastime )
  {
   theformat 
= getdatetimeformat();
  }
  
else
  {
   theformat 
= getdateformat();
  }
  
return tostring( thedate, theformat );
 }
 
/**
  * 标准日期格式
  
*/
 
private static final simpledateformat date_format = new simpledateformat(
  
"mm/dd/yyyy" );
 
/**
  * 标准时间格式
  
*/
 
private static final simpledateformat date_time_format = new simpledateformat(
  
"mm/dd/yyyy hh:mm" );
 
/**
  * 带时分秒的标准时间格式
  
*/
 
private static final simpledateformat date_time_extended_format = new simpledateformat(
  
"mm/dd/yyyy hh:mm:ss" );
 
/**
  * ora标准日期格式
  
*/
 
private static final simpledateformat ora_date_format = new simpledateformat(
  
"yyyymmdd" );
 
/**
  * ora标准时间格式
  
*/
 
private static final simpledateformat ora_date_time_format = new simpledateformat(
  
"yyyymmddhhmm" );
 
/**
  * 带时分秒的ora标准时间格式
  
*/
 
private static final simpledateformat ora_date_time_extended_format = new simpledateformat(
  
"yyyymmddhhmmss" );
 
/**
  * 创建一个标准日期格式的克隆
  * 
  * 
@return 标准日期格式的克隆
  
*/
 
public static synchronized dateformat getdateformat()
 {
  
/**
   * 详细设计: 1.返回date_format
   
*/
  simpledateformat thedateformat 
= ( simpledateformat ) 
   date_format.clone();
  thedateformat.setlenient( 
false );
  
return thedateformat;
 }
 
/**
  * 创建一个标准时间格式的克隆
  * 
  * 
@return 标准时间格式的克隆
  
*/
 
public static synchronized dateformat getdatetimeformat()
 {
  
/**
   * 详细设计: 1.返回date_time_format
   
*/
  simpledateformat thedatetimeformat 
= ( simpledateformat ) date_time_format
   .clone();
  thedatetimeformat.setlenient( 
false );
  
return thedatetimeformat;
 }
 
/**
  * 创建一个标准ora日期格式的克隆
  * 
  * 
@return 标准ora日期格式的克隆
  
*/
 
public static synchronized dateformat getoradateformat()
 {
  
/**
   * 详细设计: 1.返回ora_date_format
   
*/
  simpledateformat thedateformat 
= ( simpledateformat ) ora_date_format
   .clone();
  thedateformat.setlenient( 
false );
  
return thedateformat;
 }
 
/**
  * 创建一个标准ora时间格式的克隆
  * 
  * 
@return 标准ora时间格式的克隆
  
*/
 
public static synchronized dateformat getoradatetimeformat()
 {
  
/**
   * 详细设计: 1.返回ora_date_time_format
   
*/
  simpledateformat thedatetimeformat 
= ( simpledateformat ) 
   ora_date_time_format.clone();
  thedatetimeformat.setlenient( 
false );
  
return thedatetimeformat;
 }
 
/**
  * 将一个日期对象转换成为指定日期、时间格式的字符串。 如果日期对象为空,返回一个空字符串,而不是一个空对象。
  * 
  * 
@param thedate
  *            要转换的日期对象
  * 
@param thedateformat
  *            返回的日期字符串的格式
  * 
@return 转换结果
  
*/
 
public static synchronized string tostring( date thedate,
  dateformat thedateformat )
 {
  
/**
   * 详细设计: 
   * 1.thedate为空,则返回"" 
   * 2.否则使用thedateformat格式化
   
*/
  
if ( thedate == null ) 
   
return "";
  
return thedateformat.format( thedate );
 }
}
posted on 2006-11-02 12:35 芦苇 阅读(1347) 评论(0)  编辑  收藏

只有注册用户后才能发表评论。


网站导航:
              
 
网站地图