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

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

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

    Java Blog for Alex Wan

    Let life be beautiful like summer flowers and death like autumn leaves.

    統(tǒng)計

    留言簿(10)

    BlogJava

    Blogs

    DIV+CSS

    JQuery相關(guān)

    友情鏈接

    常去的地方

    數(shù)據(jù)供應(yīng)

    閱讀排行榜

    評論排行榜

    常用的與時間戳(Timestamp)相關(guān)的函數(shù)總結(jié)TimestampUtil

    TimestampUtil.java
    package util;

    import java.sql.Timestamp;
    import java.util.Calendar;

    public class TimestampUtil {
     
    public final static int YEAR=1;
     
    public final static int MONTH=2;
     
    public final static int DAY=3;
     
    public final static int HOUR=4;
     
    public final static int MINUTE=5;
     
    public final static int SECOND=6;
     
    public final static int WEEK=7;
     
    public final static int MILLISECOND=8;
     
    public final static int CENTURY=9;
     
    public final static int SUNDAY=Calendar.SUNDAY;
     
    public final static int MONDAY=Calendar.MONDAY;
     
    public final static int WEDNESDAY=Calendar.WEDNESDAY;
     
    public final static int TUESDAY=Calendar.TUESDAY;
     
    public final static int THURSDAY=Calendar.THURSDAY;
     
    public final static int FRIDAY=Calendar.FRIDAY;
     
    public final static int SATURDAY=Calendar.SATURDAY;
     
    //獲取若干偏移量的時間戳(Timestamp),參數(shù)一為操作時間戳(Timestamp),參數(shù)二為偏移單位,參數(shù)三為偏移值
     public static Timestamp getTiemstamp(Timestamp operTime, int unit, int value) {
      
    if (operTime==nullreturn null;
      Calendar c 
    = Calendar.getInstance();
      c.setTime(operTime);
      Timestamp newTime
    =null;
      
    switch(unit)
      
    {
      
    case YEAR:
       c.set(Calendar.YEAR, c.get(Calendar.YEAR) 
    + value);
       newTime
    =new Timestamp(c.getTimeInMillis());
       
    break;
      
    case MONTH:
       c.set(Calendar.MONTH, c.get(Calendar.MONTH) 
    + value);
       newTime
    =new Timestamp(c.getTimeInMillis());
       
    break;
      
    case DAY:
       c.set(Calendar.DATE, c.get(Calendar.DATE) 
    + value);
       newTime
    =new Timestamp(c.getTimeInMillis());
       
    break;
      
    case HOUR:
       c.set(Calendar.HOUR, c.get(Calendar.HOUR) 
    + value);
       newTime
    =new Timestamp(c.getTimeInMillis());
       
    break;
      
    case MINUTE:
       c.set(Calendar.MINUTE, c.get(Calendar.MINUTE) 
    + value);
       newTime
    =new Timestamp(c.getTimeInMillis());
       
    break;
      
    case SECOND:
       c.set(Calendar.SECOND, c.get(Calendar.SECOND) 
    + value);
       newTime
    =new Timestamp(c.getTimeInMillis());
       
    break;
      
    case WEEK:
       c.set(Calendar.DATE, c.get(Calendar.DATE) 
    + 7*value);
       newTime
    =new Timestamp(c.getTimeInMillis());
       
    break;
      
    case MILLISECOND:
       c.set(Calendar.MILLISECOND, c.get(Calendar.MILLISECOND) 
    + value);
       newTime
    =new Timestamp(c.getTimeInMillis());
       
    break;
      
    case CENTURY:
       c.set(Calendar.YEAR, c.get(Calendar.YEAR) 
    + 100*value);
       newTime
    =new Timestamp(c.getTimeInMillis());
       
    break;
      
    default:break;
      }

      
    return  newTime;
     }

     
     
     
    //獲取若干偏移量的時間戳(Timestamp),參數(shù)一為操作時間戳(Timestamp),參數(shù)二為偏移單位,參數(shù)三為偏移值,參數(shù)四標記是否獲取該天開始那一刻,參數(shù)五標記是否獲取該天結(jié)束那一刻(參數(shù)四優(yōu)先參數(shù)五)
     public static Timestamp getTiemstamp(Timestamp operTime, int unit, int value,
       
    boolean fromStart, boolean toEnd) {
      
    if (operTime==nullreturn null;
      Calendar c 
    = Calendar.getInstance();
      c.setTime(getTiemstamp( operTime,unit,value));
      
    if (fromStart) {
       c.set(Calendar.HOUR, 
    0);
       c.set(Calendar.MINUTE, 
    0);
       c.set(Calendar.SECOND, 
    0);
      }

      
    else
      

      
    if (toEnd) {
       c.set(Calendar.HOUR, 
    23);
       c.set(Calendar.MINUTE, 
    59);
       c.set(Calendar.SECOND, 
    59);
      }

      }

      
    return new Timestamp(c.getTimeInMillis());
     }

     
     
    //獲取精度到指定單位的時間戳字符串
     public static String getTimestampString(Timestamp operTime,int unit)
     
    {
      
    if(operTime!=null)
      
    {
       String str
    ="N/A";
       
    switch(unit)
       
    {
       
    case YEAR:
        str
    =operTime.toString().substring(0,4);
       
    case MONTH:
        str
    =operTime.toString().substring(0,7);
        
    break;
       
    case DAY:
        str
    =operTime.toString().substring(0,10);
        
    break;
       
    case HOUR:
        str
    =operTime.toString().substring(0,13);
        
    break;
       
    case MINUTE:
        str
    =operTime.toString().substring(0,16);
        
    break;
       
    case SECOND:
        str
    = operTime.toString().substring(0,19); 
        
    break;
       
    case MILLISECOND:
        str
    = operTime.toString(); 
        
    break;
       
    default:break;
       }

       
    return str;
      }

      
    return "N/A";
     }

     
     
    //判斷兩個時間戳(Timestamp)是否在同一天
     public static boolean isTheSameDate(Timestamp time1,Timestamp time2 ) 
     
    {
      
    if(time1!=null&&time2!=null){
      Calendar c1
    =Calendar.getInstance();
      c1.setTime(time1);
      
    int y1=c1.get(Calendar.YEAR);
      
    int m1=c1.get(Calendar.MONTH);
      
    int d1=c1.get(Calendar.DATE);
      Calendar c2
    =Calendar.getInstance();
      c2.setTime(time2);
      
    int y2=c2.get(Calendar.YEAR);
      
    int m2=c2.get(Calendar.MONTH);
      
    int d2=c2.get(Calendar.DATE);
      
    if(y1==y2&&m1==m2&&d1==d2)
      
    {
       
    return true;
      }

      }

      
    else
      
    {
       
    if(time1==null&&time2==null)
       
    {
        
    return true;
       }

      }

      
    return false;
     }

     
     
    //獲取操作時間戳(Timestamp)所在周的一天,其順序為:星期天,一,二,三,四,五,六
     public static Timestamp getDayOfWeek(Timestamp operTime,int day)
     
    {
      
    if(operTime!=null&&day>0&&day<=7)
      
    {
      Calendar c
    =Calendar.getInstance();
      c.setTime(operTime);
      c.set(Calendar.DAY_OF_WEEK, day);
      
    return new Timestamp(c.getTimeInMillis());
      }

      
    return null;
       
     }

    }





    //功能注釋已經(jīng)說明,不在累贅。繼續(xù)總結(jié)中,熱烈歡迎各位朋友來此討論

    Let life be beautiful like summer flowers and death like autumn leaves.

    posted on 2008-06-07 10:24 Alexwan 閱讀(2903) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 国产一级片免费看| 亚洲日产韩国一二三四区| 无码国产精品一区二区免费vr| 亚洲精品无码av片| 久久精品亚洲精品国产色婷| 国产亚洲色婷婷久久99精品91| 永久免费看mv网站入口| 日韩在线免费视频| 无码国产精品一区二区免费vr| 黄床大片免费30分钟国产精品 | 国产午夜成人免费看片无遮挡 | 亚洲国模精品一区| 永久免费毛片手机版在线看| 青娱分类视频精品免费2| 一级毛片在线免费看| 国产在线精品观看免费观看| 老司机午夜在线视频免费| 最新亚洲卡一卡二卡三新区| 2020天堂在线亚洲精品专区| 亚洲中文无码线在线观看| 亚洲综合激情视频| 久久亚洲AV成人无码国产| 亚洲AV无码专区国产乱码4SE| 亚洲国产成人久久综合区| 免费国产在线观看| 日韩亚洲精品福利| 又黄又爽无遮挡免费视频| 免费**毛片在线播放直播| 免费看国产曰批40分钟| 国产午夜影视大全免费观看 | 亚洲国产精品ⅴa在线观看| 亚洲AV无码专区在线亚| 亚洲精品国产福利片| 亚洲码在线中文在线观看| 久久亚洲AV成人无码| 亚洲激情校园春色| 亚洲欧洲日韩极速播放| 亚洲爆乳AAA无码专区| 激情吃奶吻胸免费视频xxxx| 久久久久免费视频| 亚洲国产精品无码观看久久|