<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 閱讀(2906) 評論(0)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 丁香六月婷婷精品免费观看| 亚洲国产乱码最新视频| 毛片免费在线观看网址| 成在线人永久免费视频播放| 亚洲乱码在线播放| 歪歪漫画在线观看官网免费阅读| 亚洲妓女综合网99| 国产成人午夜精品免费视频| 亚洲午夜国产精品| 女人让男人免费桶爽30分钟| 亚洲一区二区三区写真| 日韩在线天堂免费观看| 日韩精品视频在线观看免费| 亚洲免费一区二区| 在线看片免费人成视频久网下载| 五月天网站亚洲小说| 免费无码成人AV在线播放不卡| 国产最新凸凹视频免费| 污污污视频在线免费观看| 日韩精品极品视频在线观看免费| 亚洲免费在线视频| 久九九精品免费视频| 亚洲国产成人久久一区二区三区| 无码不卡亚洲成?人片| a级片在线免费看| 亚洲中文字幕在线无码一区二区| 韩国欧洲一级毛片免费| 亚洲欧洲国产视频| 在线免费观看国产视频| aaa毛片视频免费观看| 亚洲国产精品人久久电影| 国产一区视频在线免费观看| 99免费在线视频| 亚洲国产夜色在线观看| 亚洲国产精品国产自在在线| 亚洲日本国产综合高清| 红杏亚洲影院一区二区三区| 亚欧人成精品免费观看| 一级毛片免费播放男男| 亚洲成人午夜电影| 亚洲一区二区精品视频|