<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    hello world

    隨筆 - 2, 文章 - 63, 評論 - 0, 引用 - 0
    數據加載中……

    【轉】JAVA時間類型操作

    /**
    ?日期類
    ?*?@date???2003-12-04
    ?*?
    @version ?1.0
    ?
    */

    import ?java.util. * ;
    import ?java.text. * ;
    import ?java.util.Calendar;

    public ? class ?VeDate?{
    ?
    /**
    ??*?獲取現在時間
    ??*
    ??*?
    @return ?返回時間類型?yyyy-MM-dd?HH:mm:ss
    ??
    */
    ?
    public ? static ?Date?getNowDate()?{
    ??Date?currentTime?
    = ? new ?Date();
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd?HH:mm:ss " );
    ??String?dateString?
    = ?formatter.format(currentTime);
    ??ParsePosition?pos?
    = ? new ?ParsePosition( 8 );
    ??Date?currentTime_2?
    = ?formatter.parse(dateString,?pos);
    ??
    return ?currentTime_2;
    ?}

    ?
    /**
    ??*?獲取現在時間
    ??*
    ??*?@return返回短時間格式?yyyy-MM-dd
    ??
    */
    ?
    public ? static ?Date?getNowDateShort()?{
    ??Date?currentTime?
    = ? new ?Date();
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd " );
    ??String?dateString?
    = ?formatter.format(currentTime);
    ??ParsePosition?pos?
    = ? new ?ParsePosition( 8 );
    ??Date?currentTime_2?
    = ?formatter.parse(dateString,?pos);
    ??
    return ?currentTime_2;
    ?}

    ?
    /**
    ??*?獲取現在時間
    ??*
    ??*?@return返回字符串格式?yyyy-MM-dd?HH:mm:ss
    ??
    */
    ?
    public ? static ?String?getStringDate()?{
    ??Date?currentTime?
    = ? new ?Date();
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd?HH:mm:ss " );
    ??String?dateString?
    = ?formatter.format(currentTime);
    ??
    return ?dateString;
    ?}

    ?
    /**
    ??*?獲取現在時間
    ??*
    ??*?
    @return ?返回短時間字符串格式yyyy-MM-dd
    ??
    */
    ?
    public ? static ?String?getStringDateShort()?{
    ??Date?currentTime?
    = ? new ?Date();
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd " );
    ??String?dateString?
    = ?formatter.format(currentTime);
    ??
    return ?dateString;
    ?}

    ?
    /**
    ??*?獲取時間?小時:分;秒?HH:mm:ss
    ??*
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?getTimeShort()?{
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " HH:mm:ss " );
    ??Date?currentTime?
    = ? new ?Date();
    ??String?dateString?
    = ?formatter.format(currentTime);
    ??
    return ?dateString;
    ?}

    ?
    /**
    ??*?將長時間格式字符串轉換為時間?yyyy-MM-dd?HH:mm:ss
    ??*
    ??*?
    @param ?strDate
    ??*?
    @return
    ??
    */
    ?
    public ? static ?Date?strToDateLong(String?strDate)?{
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd?HH:mm:ss " );
    ??ParsePosition?pos?
    = ? new ?ParsePosition( 0 );
    ??Date?strtodate?
    = ?formatter.parse(strDate,?pos);
    ??
    return ?strtodate;
    ?}

    ?
    /**
    ??*?將長時間格式時間轉換為字符串?yyyy-MM-dd?HH:mm:ss
    ??*
    ??*?
    @param ?dateDate
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?dateToStrLong(java.util.Date?dateDate)?{
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd?HH:mm:ss " );
    ??String?dateString?
    = ?formatter.format(dateDate);
    ??
    return ?dateString;
    ?}

    ?
    /**
    ??*?將短時間格式時間轉換為字符串?yyyy-MM-dd
    ??*
    ??*?
    @param ?dateDate
    ??*?
    @param ?k
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?dateToStr(java.util.Date?dateDate)?{
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd " );
    ??String?dateString?
    = ?formatter.format(dateDate);
    ??
    return ?dateString;
    ?}

    ?
    /**
    ??*?將短時間格式字符串轉換為時間?yyyy-MM-dd
    ??*
    ??*?
    @param ?strDate
    ??*?
    @return
    ??
    */
    ?
    public ? static ?Date?strToDate(String?strDate)?{
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd " );
    ??ParsePosition?pos?
    = ? new ?ParsePosition( 0 );
    ??Date?strtodate?
    = ?formatter.parse(strDate,?pos);
    ??
    return ?strtodate;
    ?}

    ?
    /**
    ??*?得到現在時間
    ??*
    ??*?
    @return
    ??
    */
    ?
    public ? static ?Date?getNow()?{
    ??Date?currentTime?
    = ? new ?Date();
    ??
    return ?currentTime;
    ?}

    ?
    /**
    ??*?提取一個月中的最后一天
    ??*
    ??*?
    @param ?day
    ??*?
    @return
    ??
    */
    ?
    public ? static ?Date?getLastDate( long ?day)?{
    ??Date?date?
    = ? new ?Date();
    ??
    long ?date_3_hm? = ?date.getTime()? - ? 3600000 ? * ? 34 ? * ?day;
    ??Date?date_3_hm_date?
    = ? new ?Date(date_3_hm);
    ??
    return ?date_3_hm_date;
    ?}

    ?
    /**
    ??*?得到現在時間
    ??*
    ??*?
    @return ?字符串?yyyyMMdd?HHmmss
    ??
    */
    ?
    public ? static ?String?getStringToday()?{
    ??Date?currentTime?
    = ? new ?Date();
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyyMMdd?HHmmss " );
    ??String?dateString?
    = ?formatter.format(currentTime);
    ??
    return ?dateString;
    ?}

    ?
    /**
    ??*?得到現在小時
    ??
    */
    ?
    public ? static ?String?getHour()?{
    ??Date?currentTime?
    = ? new ?Date();
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd?HH:mm:ss " );
    ??String?dateString?
    = ?formatter.format(currentTime);
    ??String?hour;
    ??hour?
    = ?dateString.substring( 11 ,? 13 );
    ??
    return ?hour;
    ?}

    ?
    /**
    ??*?得到現在分鐘
    ??*
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?getTime()?{
    ??Date?currentTime?
    = ? new ?Date();
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd?HH:mm:ss " );
    ??String?dateString?
    = ?formatter.format(currentTime);
    ??String?min;
    ??min?
    = ?dateString.substring( 14 ,? 16 );
    ??
    return ?min;
    ?}

    ?
    /**
    ??*?根據用戶傳入的時間表示格式,返回當前時間的格式?如果是yyyyMMdd,注意字母y不能大寫。
    ??*
    ??*?
    @param ?sformat
    ??*????????????yyyyMMddhhmmss
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?getUserDate(String?sformat)?{
    ??Date?currentTime?
    = ? new ?Date();
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat(sformat);
    ??String?dateString?
    = ?formatter.format(currentTime);
    ??
    return ?dateString;
    ?}

    ?
    /**
    ??*?二個小時時間間的差值,必須保證二個時間都是"HH:MM"的格式,返回字符型的分鐘
    ??
    */
    ?
    public ? static ?String?getTwoHour(String?st1,?String?st2)?{
    ??String[]?kk?
    = ? null ;
    ??String[]?jj?
    = ? null ;
    ??kk?
    = ?st1.split( " : " );
    ??jj?
    = ?st2.split( " : " );
    ??
    if ?(Integer.parseInt(kk[ 0 ])? < ?Integer.parseInt(jj[ 0 ]))
    ???
    return ? " 0 " ;
    ??
    else ?{
    ???
    double ?y? = ?Double.parseDouble(kk[ 0 ])? + ?Double.parseDouble(kk[ 1 ])? / ? 60 ;
    ???
    double ?u? = ?Double.parseDouble(jj[ 0 ])? + ?Double.parseDouble(jj[ 1 ])? / ? 60 ;
    ???
    if ?((y? - ?u)? > ? 0 )
    ????
    return ?y? - ?u? + ? "" ;
    ???
    else
    ????
    return ? " 0 " ;
    ??}
    ?}

    ?
    /**
    ??*?得到二個日期間的間隔天數
    ??
    */
    ?
    public ? static ?String?getTwoDay(String?sj1,?String?sj2)?{
    ??SimpleDateFormat?myFormatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd " );
    ??
    long ?day? = ? 0 ;
    ??
    try ?{
    ???java.util.Date?date?
    = ?myFormatter.parse(sj1);
    ???java.util.Date?mydate?
    = ?myFormatter.parse(sj2);
    ???day?
    = ?(date.getTime()? - ?mydate.getTime())? / ?( 24 ? * ? 60 ? * ? 60 ? * ? 1000 );
    ??}?
    catch ?(Exception?e)?{
    ???
    return ? "" ;
    ??}
    ??
    return ?day? + ? "" ;
    ?}

    ?
    /**
    ??*?時間前推或后推分鐘,其中JJ表示分鐘.
    ??
    */
    ?
    public ? static ?String?getPreTime(String?sj1,?String?jj)?{
    ??SimpleDateFormat?format?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd?HH:mm:ss " );
    ??String?mydate1?
    = ? "" ;
    ??
    try ?{
    ???Date?date1?
    = ?format.parse(sj1);
    ???
    long ?Time? = ?(date1.getTime()? / ? 1000 )? + ?Integer.parseInt(jj)? * ? 60 ;
    ???date1.setTime(Time?
    * ? 1000 );
    ???mydate1?
    = ?format.format(date1);
    ??}?
    catch ?(Exception?e)?{
    ??}
    ??
    return ?mydate1;
    ?}

    ?
    /**
    ??*?得到一個時間延后或前移幾天的時間,nowdate為時間,delay為前移或后延的天數
    ??
    */
    ?
    public ? static ?String?getNextDay(String?nowdate,?String?delay)?{
    ??
    try {
    ??SimpleDateFormat?format?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd " );
    ??String?mdate?
    = ? "" ;
    ??Date?d?
    = ?strToDate(nowdate);
    ??
    long ?myTime? = ?(d.getTime()? / ? 1000 )? + ?Integer.parseInt(delay)? * ? 24 ? * ? 60 ? * ? 60 ;
    ??d.setTime(myTime?
    * ? 1000 );
    ??mdate?
    = ?format.format(d);
    ??
    return ?mdate;
    ??}
    catch (Exception?e){
    ???
    return ? "" ;
    ??}
    ?}

    ?
    /**
    ??*?判斷是否潤年
    ??*
    ??*?
    @param ?ddate
    ??*?
    @return
    ??
    */
    ?
    public ? static ? boolean ?isLeapYear(String?ddate)?{

    ??
    /**
    ???*?詳細設計:?1.被400整除是閏年,否則:?2.不能被4整除則不是閏年?3.能被4整除同時不能被100整除則是閏年
    ???*?3.能被4整除同時能被100整除則不是閏年
    ???
    */
    ??Date?d?
    = ?strToDate(ddate);
    ??GregorianCalendar?gc?
    = ?(GregorianCalendar)?Calendar.getInstance();
    ??gc.setTime(d);
    ??
    int ?year? = ?gc.get(Calendar.YEAR);
    ??
    if ?((year? % ? 400 )? == ? 0 )
    ???
    return ? true ;
    ??
    else ? if ?((year? % ? 4 )? == ? 0 )?{
    ???
    if ?((year? % ? 100 )? == ? 0 )
    ????
    return ? false ;
    ???
    else
    ????
    return ? true ;
    ??}?
    else
    ???
    return ? false ;
    ?}

    ?
    /**
    ??*?返回美國時間格式?26?Apr?2006
    ??*
    ??*?
    @param ?str
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?getEDate(String?str)?{
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd " );
    ??ParsePosition?pos?
    = ? new ?ParsePosition( 0 );
    ??Date?strtodate?
    = ?formatter.parse(str,?pos);
    ??String?j?
    = ?strtodate.toString();
    ??String[]?k?
    = ?j.split( " ? " );
    ??
    return ?k[ 2 ]? + ?k[ 1 ].toUpperCase()? + ?k[ 5 ].substring( 2 ,? 4 );
    ?}

    ?
    /**
    ??*?獲取一個月的最后一天
    ??*
    ??*?
    @param ?dat
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?getEndDateOfMonth(String?dat)?{ // ?yyyy-MM-dd
    ??String?str? = ?dat.substring( 0 ,? 8 );
    ??String?month?
    = ?dat.substring( 5 ,? 7 );
    ??
    int ?mon? = ?Integer.parseInt(month);
    ??
    if ?(mon? == ? 1 ? || ?mon? == ? 3 ? || ?mon? == ? 5 ? || ?mon? == ? 7 ? || ?mon? == ? 8 ? || ?mon? == ? 10 ? || ?mon? == ? 12 )?{
    ???str?
    += ? " 31 " ;
    ??}?
    else ? if ?(mon? == ? 4 ? || ?mon? == ? 6 ? || ?mon? == ? 9 ? || ?mon? == ? 11 )?{
    ???str?
    += ? " 30 " ;
    ??}?
    else ?{
    ???
    if ?(isLeapYear(dat))?{
    ????str?
    += ? " 29 " ;
    ???}?
    else ?{
    ????str?
    += ? " 28 " ;
    ???}
    ??}
    ??
    return ?str;
    ?}

    ?
    /**
    ??*?判斷二個時間是否在同一個周
    ??*
    ??*?
    @param ?date1
    ??*?
    @param ?date2
    ??*?
    @return
    ??
    */
    ?
    public ? static ? boolean ?isSameWeekDates(Date?date1,?Date?date2)?{
    ??Calendar?cal1?
    = ?Calendar.getInstance();
    ??Calendar?cal2?
    = ?Calendar.getInstance();
    ??cal1.setTime(date1);
    ??cal2.setTime(date2);
    ??
    int ?subYear? = ?cal1.get(Calendar.YEAR)? - ?cal2.get(Calendar.YEAR);
    ??
    if ?( 0 ? == ?subYear)?{
    ???
    if ?(cal1.get(Calendar.WEEK_OF_YEAR)? == ?cal2.get(Calendar.WEEK_OF_YEAR))
    ????
    return ? true ;
    ??}?
    else ? if ?( 1 ? == ?subYear? && ? 11 ? == ?cal2.get(Calendar.MONTH))?{
    ???
    // ?如果12月的最后一周橫跨來年第一周的話則最后一周即算做來年的第一周
    ??? if ?(cal1.get(Calendar.WEEK_OF_YEAR)? == ?cal2.get(Calendar.WEEK_OF_YEAR))
    ????
    return ? true ;
    ??}?
    else ? if ?( - 1 ? == ?subYear? && ? 11 ? == ?cal1.get(Calendar.MONTH))?{
    ???
    if ?(cal1.get(Calendar.WEEK_OF_YEAR)? == ?cal2.get(Calendar.WEEK_OF_YEAR))
    ????
    return ? true ;
    ??}
    ??
    return ? false ;
    ?}

    ?
    /**
    ??*?產生周序列,即得到當前時間所在的年度是第幾周
    ??*
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?getSeqWeek()?{
    ??Calendar?c?
    = ?Calendar.getInstance(Locale.CHINA);
    ??String?week?
    = ?Integer.toString(c.get(Calendar.WEEK_OF_YEAR));
    ??
    if ?(week.length()? == ? 1 )
    ???week?
    = ? " 0 " ? + ?week;
    ??String?year?
    = ?Integer.toString(c.get(Calendar.YEAR));
    ??
    return ?year? + ?week;
    ?}

    ?
    /**
    ??*?獲得一個日期所在的周的星期幾的日期,如要找出2002年2月3日所在周的星期一是幾號
    ??*
    ??*?
    @param ?sdate
    ??*?
    @param ?num
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?getWeek(String?sdate,?String?num)?{
    ??
    // ?再轉換為時間
    ??Date?dd? = ?VeDate.strToDate(sdate);
    ??Calendar?c?
    = ?Calendar.getInstance();
    ??c.setTime(dd);
    ??
    if ?(num.equals( " 1 " ))? // ?返回星期一所在的日期
    ???c.set(Calendar.DAY_OF_WEEK,?Calendar.MONDAY);
    ??
    else ? if ?(num.equals( " 2 " ))? // ?返回星期二所在的日期
    ???c.set(Calendar.DAY_OF_WEEK,?Calendar.TUESDAY);
    ??
    else ? if ?(num.equals( " 3 " ))? // ?返回星期三所在的日期
    ???c.set(Calendar.DAY_OF_WEEK,?Calendar.WEDNESDAY);
    ??
    else ? if ?(num.equals( " 4 " ))? // ?返回星期四所在的日期
    ???c.set(Calendar.DAY_OF_WEEK,?Calendar.THURSDAY);
    ??
    else ? if ?(num.equals( " 5 " ))? // ?返回星期五所在的日期
    ???c.set(Calendar.DAY_OF_WEEK,?Calendar.FRIDAY);
    ??
    else ? if ?(num.equals( " 6 " ))? // ?返回星期六所在的日期
    ???c.set(Calendar.DAY_OF_WEEK,?Calendar.SATURDAY);
    ??
    else ? if ?(num.equals( " 0 " ))? // ?返回星期日所在的日期
    ???c.set(Calendar.DAY_OF_WEEK,?Calendar.SUNDAY);
    ??
    return ? new ?SimpleDateFormat( " yyyy-MM-dd " ).format(c.getTime());
    ?}

    ?
    /**
    ??*?根據一個日期,返回是星期幾的字符串
    ??*
    ??*?
    @param ?sdate
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?getWeek(String?sdate)?{
    ??
    // ?再轉換為時間
    ??Date?date? = ?VeDate.strToDate(sdate);
    ??Calendar?c?
    = ?Calendar.getInstance();
    ??c.setTime(date);
    ??
    // ?int?hour=c.get(Calendar.DAY_OF_WEEK);
    ??
    // ?hour中存的就是星期幾了,其范圍?1~7
    ??
    // ?1=星期日?7=星期六,其他類推
    ?? return ? new ?SimpleDateFormat( " EEEE " ).format(c.getTime());
    ?}
    ?
    public ? static ?String?getWeekStr(String?sdate){
    ??String?str?
    = ? "" ;
    ??str?
    = ?VeDate.getWeek(sdate);
    ??
    if ( " 1 " .equals(str)){
    ???str?
    = ? " 星期日 " ;
    ??}
    else ? if ( " 2 " .equals(str)){
    ???str?
    = ? " 星期一 " ;
    ??}
    else ? if ( " 3 " .equals(str)){
    ???str?
    = ? " 星期二 " ;
    ??}
    else ? if ( " 4 " .equals(str)){
    ???str?
    = ? " 星期三 " ;
    ??}
    else ? if ( " 5 " .equals(str)){
    ???str?
    = ? " 星期四 " ;
    ??}
    else ? if ( " 6 " .equals(str)){
    ???str?
    = ? " 星期五 " ;
    ??}
    else ? if ( " 7 " .equals(str)){
    ???str?
    = ? " 星期六 " ;
    ??}
    ??
    return ?str;
    ?}

    ?
    /**
    ??*?兩個時間之間的天數
    ??*
    ??*?
    @param ?date1
    ??*?
    @param ?date2
    ??*?
    @return
    ??
    */
    ?
    public ? static ? long ?getDays(String?date1,?String?date2)?{
    ??
    if ?(date1? == ? null ? || ?date1.equals( "" ))
    ???
    return ? 0 ;
    ??
    if ?(date2? == ? null ? || ?date2.equals( "" ))
    ???
    return ? 0 ;
    ??
    // ?轉換為標準時間
    ??SimpleDateFormat?myFormatter? = ? new ?SimpleDateFormat( " yyyy-MM-dd " );
    ??java.util.Date?date?
    = ? null ;
    ??java.util.Date?mydate?
    = ? null ;
    ??
    try ?{
    ???date?
    = ?myFormatter.parse(date1);
    ???mydate?
    = ?myFormatter.parse(date2);
    ??}?
    catch ?(Exception?e)?{
    ??}
    ??
    long ?day? = ?(date.getTime()? - ?mydate.getTime())? / ?( 24 ? * ? 60 ? * ? 60 ? * ? 1000 );
    ??
    return ?day;
    ?}

    ?
    /**
    ??*?形成如下的日歷?,?根據傳入的一個時間返回一個結構?星期日?星期一?星期二?星期三?星期四?星期五?星期六?下面是當月的各個時間
    ??*?此函數返回該日歷第一行星期日所在的日期
    ??*
    ??*?
    @param ?sdate
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?getNowMonth(String?sdate)?{
    ??
    // ?取該時間所在月的一號
    ??sdate? = ?sdate.substring( 0 ,? 8 )? + ? " 01 " ;

    ??
    // ?得到這個月的1號是星期幾
    ??Date?date? = ?VeDate.strToDate(sdate);
    ??Calendar?c?
    = ?Calendar.getInstance();
    ??c.setTime(date);
    ??
    int ?u? = ?c.get(Calendar.DAY_OF_WEEK);
    ??String?newday?
    = ?VeDate.getNextDay(sdate,?( 1 ? - ?u)? + ? "" );
    ??
    return ?newday;
    ?}

    ?
    /**
    ??*?取得數據庫主鍵?生成格式為yyyymmddhhmmss+k位隨機數
    ??*
    ??*?
    @param ?k
    ??*????????????表示是取幾位隨機數,可以自己定
    ??
    */

    ?
    public ? static ?String?getNo( int ?k)?{

    ??
    return ?getUserDate( " yyyyMMddhhmmss " )? + ?getRandom(k);
    ?}

    ?
    /**
    ??*?返回一個隨機數
    ??*
    ??*?
    @param ?i
    ??*?
    @return
    ??
    */
    ?
    public ? static ?String?getRandom( int ?i)?{
    ??Random?jjj?
    = ? new ?Random();
    ??
    // ?int?suiJiShu?=?jjj.nextInt(9);
    ?? if ?(i? == ? 0 )
    ???
    return ? "" ;
    ??String?jj?
    = ? "" ;
    ??
    for ?( int ?k? = ? 0 ;?k? < ?i;?k ++ )?{
    ???jj?
    = ?jj? + ?jjj.nextInt( 9 );
    ??}
    ??
    return ?jj;
    ?}

    ?
    /**
    ??*
    ??*?
    @param ?args
    ??
    */
    ?
    public ? static ? boolean ?RightDate(String?date)?{

    ??SimpleDateFormat?sdf?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd?hh:mm:ss " );
    ??;
    ??
    if ?(date? == ? null )
    ???
    return ? false ;
    ??
    if ?(date.length()? > ? 10 )?{
    ???sdf?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd?hh:mm:ss " );
    ??}?
    else ?{
    ???sdf?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd " );
    ??}
    ??
    try ?{
    ???sdf.parse(date);
    ??}?
    catch ?(ParseException?pe)?{
    ???
    return ? false ;
    ??}
    ??
    return ? true ;
    ?}

    ?
    /** *************************************************************************
    ??*?//nd=1表示返回的值中包含年度?//yf=1表示返回的值中包含月份?//rq=1表示返回的值中包含日期?//format表示返回的格式?1
    ??*?以年月日中文返回?2?以橫線-返回?//?3?以斜線/返回?4?以縮寫不帶其它符號形式返回?//?5?以點號.返回
    ??*************************************************************************
    */
    ?
    public ? static ?String?getStringDateMonth(String?sdate,?String?nd,?String?yf,?String?rq,?String?format)?{
    ??Date?currentTime?
    = ? new ?Date();
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd " );
    ??String?dateString?
    = ?formatter.format(currentTime);
    ??String?s_nd?
    = ?dateString.substring( 0 ,? 4 );? // ?年份
    ??String?s_yf? = ?dateString.substring( 5 ,? 7 );? // ?月份
    ??String?s_rq? = ?dateString.substring( 8 ,? 10 );? // ?日期
    ??String?sreturn? = ? "" ;
    ??roc.util.MyChar?mc?
    = ? new ?roc.util.MyChar();
    ??
    if ?(sdate? == ? null ? || ?sdate.equals( "" )? || ? ! mc.Isdate(sdate))?{? // ?處理空值情況
    ??? if ?(nd.equals( " 1 " ))?{
    ????sreturn?
    = ?s_nd;
    ????
    // ?處理間隔符
    ???? if ?(format.equals( " 1 " ))
    ?????sreturn?
    = ?sreturn? + ? " " ;
    ????
    else ? if ?(format.equals( " 2 " ))
    ?????sreturn?
    = ?sreturn? + ? " - " ;
    ????
    else ? if ?(format.equals( " 3 " ))
    ?????sreturn?
    = ?sreturn? + ? " / " ;
    ????
    else ? if ?(format.equals( " 5 " ))
    ?????sreturn?
    = ?sreturn? + ? " . " ;
    ???}
    ???
    // ?處理月份
    ??? if ?(yf.equals( " 1 " ))?{
    ????sreturn?
    = ?sreturn? + ?s_yf;
    ????
    if ?(format.equals( " 1 " ))
    ?????sreturn?
    = ?sreturn? + ? " " ;
    ????
    else ? if ?(format.equals( " 2 " ))
    ?????sreturn?
    = ?sreturn? + ? " - " ;
    ????
    else ? if ?(format.equals( " 3 " ))
    ?????sreturn?
    = ?sreturn? + ? " / " ;
    ????
    else ? if ?(format.equals( " 5 " ))
    ?????sreturn?
    = ?sreturn? + ? " . " ;
    ???}
    ???
    // ?處理日期
    ??? if ?(rq.equals( " 1 " ))?{
    ????sreturn?
    = ?sreturn? + ?s_rq;
    ????
    if ?(format.equals( " 1 " ))
    ?????sreturn?
    = ?sreturn? + ? " " ;
    ???}
    ??}?
    else ?{
    ???
    // ?不是空值,也是一個合法的日期值,則先將其轉換為標準的時間格式
    ???sdate? = ?roc.util.RocDate.getOKDate(sdate);
    ???s_nd?
    = ?sdate.substring( 0 ,? 4 );? // ?年份
    ???s_yf? = ?sdate.substring( 5 ,? 7 );? // ?月份
    ???s_rq? = ?sdate.substring( 8 ,? 10 );? // ?日期
    ??? if ?(nd.equals( " 1 " ))?{
    ????sreturn?
    = ?s_nd;
    ????
    // ?處理間隔符
    ???? if ?(format.equals( " 1 " ))
    ?????sreturn?
    = ?sreturn? + ? " " ;
    ????
    else ? if ?(format.equals( " 2 " ))
    ?????sreturn?
    = ?sreturn? + ? " - " ;
    ????
    else ? if ?(format.equals( " 3 " ))
    ?????sreturn?
    = ?sreturn? + ? " / " ;
    ????
    else ? if ?(format.equals( " 5 " ))
    ?????sreturn?
    = ?sreturn? + ? " . " ;
    ???}
    ???
    // ?處理月份
    ??? if ?(yf.equals( " 1 " ))?{
    ????sreturn?
    = ?sreturn? + ?s_yf;
    ????
    if ?(format.equals( " 1 " ))
    ?????sreturn?
    = ?sreturn? + ? " " ;
    ????
    else ? if ?(format.equals( " 2 " ))
    ?????sreturn?
    = ?sreturn? + ? " - " ;
    ????
    else ? if ?(format.equals( " 3 " ))
    ?????sreturn?
    = ?sreturn? + ? " / " ;
    ????
    else ? if ?(format.equals( " 5 " ))
    ?????sreturn?
    = ?sreturn? + ? " . " ;
    ???}
    ???
    // ?處理日期
    ??? if ?(rq.equals( " 1 " ))?{
    ????sreturn?
    = ?sreturn? + ?s_rq;
    ????
    if ?(format.equals( " 1 " ))
    ?????sreturn?
    = ?sreturn? + ? " " ;
    ???}
    ??}
    ??
    return ?sreturn;
    ?}

    ?
    public ? static ?String?getNextMonthDay(String?sdate,? int ?m)?{
    ??sdate?
    = ?getOKDate(sdate);
    ??
    int ?year? = ?Integer.parseInt(sdate.substring( 0 ,? 4 ));
    ??
    int ?month? = ?Integer.parseInt(sdate.substring( 5 ,? 7 ));
    ??month?
    = ?month? + ?m;
    ??
    if ?(month? < ? 0 )?{
    ???month?
    = ?month? + ? 12 ;
    ???year?
    = ?year? - ? 1 ;
    ??}?
    else ? if ?(month? > ? 12 )?{
    ???month?
    = ?month? - ? 12 ;
    ???year?
    = ?year? + ? 1 ;
    ??}
    ??String?smonth?
    = ? "" ;
    ??
    if ?(month? < ? 10 )
    ???smonth?
    = ? " 0 " ? + ?month;
    ??
    else
    ???smonth?
    = ? "" ? + ?month;
    ??
    return ?year? + ? " - " ? + ?smonth? + ? " -10 " ;
    ?}

    ?
    public ? static ?String?getOKDate(String?sdate)?{
    ??
    if ?(sdate? == ? null ? || ?sdate.equals( "" ))
    ???
    return ?getStringDateShort();

    ??
    if ?( ! VeStr.Isdate(sdate))?{
    ???sdate?
    = ?getStringDateShort();
    ??}
    ??
    // ?將“/”轉換為“-”
    ??sdate? = ?VeStr.Replace(sdate,? " / " ,? " - " );
    ??
    // ?如果只有8位長度,則要進行轉換
    ?? if ?(sdate.length()? == ? 8 )
    ???sdate?
    = ?sdate.substring( 0 ,? 4 )? + ? " - " ? + ?sdate.substring( 4 ,? 6 )? + ? " - " ? + ?sdate.substring( 6 ,? 8 );
    ??SimpleDateFormat?formatter?
    = ? new ?SimpleDateFormat( " yyyy-MM-dd " );
    ??ParsePosition?pos?
    = ? new ?ParsePosition( 0 );
    ??Date?strtodate?
    = ?formatter.parse(sdate,?pos);
    ??String?dateString?
    = ?formatter.format(strtodate);
    ??
    return ?dateString;
    ?}

    ?
    public ? static ? void ?main(String[]?args)? throws ?Exception?{
    ??
    try ?{
    ???
    // System.out.print(Integer.valueOf(getTwoDay("2006-11-03?12:22:10",?"2006-11-02?11:22:09")));
    ??}? catch ?(Exception?e)?{
    ???
    throw ? new ?Exception();
    ??}
    ??
    // System.out.println("sss");
    ?}
    }
    轉自:http://babyvox5th.javaeye.com/blog/263007

    posted on 2009-11-10 10:23 聽風 閱讀(558) 評論(0)  編輯  收藏 所屬分類: JAVA

    主站蜘蛛池模板: 成年人免费视频观看| 免费下载成人电影| 亚洲欧洲久久av| 日本一区二区三区免费高清在线| 免费黄色网址入口| 小说区亚洲自拍另类| 免费国产成人午夜电影| 国产亚洲成在线播放va| 在线亚洲人成电影网站色www | 中文字幕在线亚洲精品| 久久免费观看视频| 亚洲AV中文无码乱人伦| 国产大片免费天天看| 亚洲AV无码乱码国产麻豆穿越| 一级毛片成人免费看免费不卡| 亚洲综合久久成人69| 99久久精品日本一区二区免费| 亚洲熟女乱色一区二区三区| 暖暖免费高清日本中文| 人成午夜免费大片在线观看| 日韩亚洲欧洲在线com91tv| 国产黄色免费网站| 亚洲AV日韩AV永久无码色欲 | 亚洲国产视频久久| 全部免费毛片免费播放| 亚洲A∨精品一区二区三区下载| 免费国产成人高清视频网站| 99久久免费国产精品热| 亚洲福利视频网站| 日本免费福利视频| 国内永久免费crm系统z在线| 亚洲国产日韩在线一区| 国产成人免费ā片在线观看| 色www永久免费网站| 久久国产亚洲精品| 亚洲国产精品综合久久网络| 114级毛片免费观看| 色吊丝免费观看网站| 久久精品国产亚洲av日韩| 成年女人永久免费观看片| 秋霞人成在线观看免费视频 |