<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.

    統計

    留言簿(10)

    BlogJava

    Blogs

    DIV+CSS

    JQuery相關

    友情鏈接

    常去的地方

    數據供應

    閱讀排行榜

    評論排行榜

    常用的與時間戳(Timestamp)相關的函數總結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),參數一為操作時間戳(Timestamp),參數二為偏移單位,參數三為偏移值
     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),參數一為操作時間戳(Timestamp),參數二為偏移單位,參數三為偏移值,參數四標記是否獲取該天開始那一刻,參數五標記是否獲取該天結束那一刻(參數四優先參數五)
     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;
       
     }

    }





    //功能注釋已經說明,不在累贅。繼續總結中,熱烈歡迎各位朋友來此討論

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

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


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲大片在线观看| 亚洲色偷偷偷综合网| 国产大片91精品免费看3| 99re在线精品视频免费| 一区二区三区免费视频播放器| 亚洲精品国产福利在线观看| 国产亚洲福利精品一区| 亚洲国产成人爱av在线播放| 国产精品成人免费视频网站京东| 两个人看的www视频免费完整版| 亚洲国产区男人本色| 丁香婷婷亚洲六月综合色| 久久久久亚洲精品成人网小说 | 亚洲国产精品自在线一区二区| 亚洲av麻豆aⅴ无码电影| 在线免费观看色片| 亚洲毛片在线免费观看| 久久久久成人片免费观看蜜芽| 在线观看片免费人成视频播放| 无码免费又爽又高潮喷水的视频| 亚洲av成人无码网站…| 亚洲精品无码中文久久字幕| 亚洲av无码一区二区三区天堂古代 | 亚洲一区精品中文字幕| 免费人成在线观看播放国产 | 亚洲AV无码一区东京热| 亚洲国产精品无码久久青草 | 黄色a三级三级三级免费看| MM1313亚洲国产精品| 亚洲av日韩综合一区二区三区| 亚洲精品宾馆在线精品酒店| 99久久国产亚洲综合精品| 亚洲国产日韩综合久久精品| 四虎必出精品亚洲高清| 精品久久久久久亚洲精品| 亚洲午夜电影一区二区三区| 亚洲一区二区三区精品视频 | 亚洲精品视频在线观看免费| 午夜免费1000部| 91情侣在线精品国产免费| 丁香花在线观看免费观看|