<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相關

    友情鏈接

    常去的地方

    數(shù)據(jù)供應

    閱讀排行榜

    評論排行榜

    常用的與時間戳(Timestamp)相關的函數(shù)總結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ù)五標記是否獲取該天結束那一刻(參數(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ù)總結中,熱烈歡迎各位朋友來此討論

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

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


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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 日本高清高色视频免费| 亚洲免费观看网站| 色视频在线观看免费| 在线精品免费视频| 性xxxx黑人与亚洲| 99久久免费国产精品特黄| 亚洲va精品中文字幕| 啦啦啦中文在线观看电视剧免费版 | 免费看国产曰批40分钟| 国产精品亚洲专区无码WEB| 国产在线观看免费视频播放器| 亚洲av永久无码精品网址| 国产乱子影视频上线免费观看| 国产亚洲人成在线影院| 亚洲国产小视频精品久久久三级 | 免费A级毛片av无码| 亚洲国产日产无码精品| 日韩高清在线高清免费| 男女猛烈激情xx00免费视频| 久久久久亚洲精品天堂久久久久久 | 国产亚洲情侣一区二区无| 国产免费AV片在线观看| 亚洲色欲色欲综合网站| 大学生一级毛片免费看| 亚洲乱色熟女一区二区三区蜜臀| 国产一级做a爱免费视频| 男女一边桶一边摸一边脱视频免费| 久久91亚洲人成电影网站| 2022久久国产精品免费热麻豆| 国产精品高清视亚洲精品| 可以免费观看的一级毛片| A级毛片成人网站免费看| 亚洲精品中文字幕乱码| 国产在线19禁免费观看| a色毛片免费视频| 久久亚洲精品国产亚洲老地址| www国产亚洲精品久久久| 久久久久久AV无码免费网站 | 久久精品国产亚洲AV不卡| 啦啦啦完整版免费视频在线观看| 亚洲AV无码一区二区三区久久精品|