?? chectime.java
字號:
package checdateapi;import java.util.StringTokenizer;public class CHECTime { public final static int FLAG_SECOND=1;public final static int FLAG_MINUTE=2;public final static int FLAG_HOUR=3;public final static int FLAG_MICROSECOND=0; int hour; int minute; int second; int microSecond; public CHECTime() { hour=0; minute=0; second=0; microSecond=0; // judgeIllegeValue(); } public CHECTime(int h,int m,int s) { hour=h; minute=m; second=s; microSecond=0; judgeIllegeValue(); } public CHECTime(int h,int m,int s,int ms) { hour=h; minute=m; second=s; microSecond=ms; judgeIllegeValue(); } public void setHour(int h){ hour=h; judgeIllegeValue(); } public int getHour(){ return hour;//judgeIllegeValue(); } public void setMinute(int m){ minute=m; judgeIllegeValue(); } public int getMinute(){ return minute; //judgeIllegeValue(); } public void setSecond(int s){ second=s; judgeIllegeValue(); } public int getSecond(){ return second; // judgeIllegeValue(); } public void setMicroSecond(int ms){ microSecond=ms; } public int getMicroSecond(){ return microSecond; } public void setTime(CHECTime ct){ hour=ct.getHour(); minute=ct.getMinute(); second=ct.getSecond(); microSecond=ct.getMicroSecond(); } public boolean equal(CHECTime t){ // return getStamp()==t.getStamp() ?true : false; if((getStamp()==t.getStamp() ) && (microSecond==t.getMicroSecond())) return true; return false; }/* public boolean equal(CHECTime ct){ boolean b=false; if(hour==ct.getHour() && minute==ct.getMinute() && second==ct.getSecond() && microSecond==ct.getMicroSecond() ) { b=true; } return b; } */ public String toString(){ String rtString; if (hour<10) { rtString="0"+Integer.toString(hour); } else{ rtString=Integer.toString(hour); } if (minute<10) { rtString=rtString+":0"+ Integer.toString(minute); } else{ rtString=rtString+":" + Integer.toString(minute); } if (second<10) { rtString=rtString+":0"+ Integer.toString(second); } else{ rtString=rtString+":" + Integer.toString(second); } if(microSecond>0) { if(microSecond>99) rtString=rtString + "." + Integer.toString(microSecond); else if (microSecond>10) rtString=rtString + ".0" + Integer.toString(microSecond); else rtString=rtString + ".00" + Integer.toString(microSecond); } return rtString; } public String toStringMicroSecond() { String rtString; if (hour<10) { rtString="0"+Integer.toString(hour); } else{ rtString=Integer.toString(hour); } if (minute<10) { rtString=rtString+":0"+ Integer.toString(minute); } else{ rtString=rtString+":" + Integer.toString(minute); } if (second<10) { rtString=rtString+":0"+ Integer.toString(second); } else{ rtString=rtString+":" + Integer.toString(second); } rtString= rtString+"."+ Integer.toString(microSecond); return rtString; } public String toString(String space){ String rtString; if (hour<10) { rtString="0"+Integer.toString(hour); } else{ rtString=Integer.toString(hour); } if (minute<10) { rtString=rtString+":0"+ Integer.toString(minute); } else{ rtString=rtString+":" + Integer.toString(minute); } if (second<10) { rtString=rtString+":0"+ Integer.toString(second); } else{ rtString=rtString+":" + Integer.toString(second); } rtString= rtString+space+ Integer.toString(microSecond); return rtString; } public void setTime(int h,int m,int s){ hour=h; minute=m; second=s; judgeIllegeValue(); } public void setTime(int h,int m,int s,int ms){ hour=h; minute=m; second=s; microSecond=ms; judgeIllegeValue(); } public void setTime(String x){ String strTime=x.trim(); String tmpStr=strTime; int pos=tmpStr.indexOf("."); if(pos<1) tmpStr=strTime; else { strTime=tmpStr.substring(0,pos); String r=tmpStr.substring(pos+1,tmpStr.length()); microSecond=Integer.parseInt(r); } if(strTime.length()>4) { StringTokenizer st = new StringTokenizer(strTime.trim(),":"); String []str=new String[4]; int count=0; while (st.hasMoreTokens()) { if(count>3) break; str[count]=(String)st.nextElement(); count++; } if(count==2){ hour=Integer.parseInt(str[0]); minute=Integer.parseInt(str[1]); second=Integer.parseInt(str[2]); } if(count==3){ hour=Integer.parseInt(str[0]); minute=Integer.parseInt(str[1]); second=Integer.parseInt(str[2]); //microSecond=Integer.parseInt(str[3]); } judgeIllegeValue(); } } public boolean timeUpper(CHECTime t){ // return getStamp()>t.getStamp() ?true : false; long a=getStamp(); long b=t.getStamp() ; if(a>b) return true; if((a==b) && (microSecond>t.getMicroSecond())) return true; return false; } public boolean timeLower(CHECTime t){ //return getStamp()<t.getStamp() ?true : false; long a=getStamp(); long b=t.getStamp() ; if(a<b) return true; if((a==b) && (microSecond<t.getMicroSecond())) return true; return false; } public boolean timeLowerEqual(CHECTime t){ // return getStamp()<=t.getStamp() ?true : false; long a=getStamp(); long b=t.getStamp() ; if(a<b) return true; if((a==b) && (microSecond<=t.getMicroSecond())) return true; return false;}public boolean timeUpperEqual(CHECTime t){ // return getStamp()>=t.getStamp() ?true : false; long a=getStamp(); long b=t.getStamp() ; if(a>b) return true; if((a==b) && (microSecond>=t.getMicroSecond())) return true; return false;} /* public boolean timeUpper(CHECTime t){ if(hour>t.getHour()){ return true; } else if( hour==t.getHour() & minute>t.getMinute()){ return true; } else if( hour==t.getHour() & minute==t.getMinute() & second>t.getSecond()) { return true; } else if( hour==t.getHour() & minute==t.getMinute() & second==t.getSecond() & microSecond>t.getMicroSecond()) { return true; } return false; } public boolean timeLower(CHECTime t){ if(hour<t.getHour()){ return true; } else if( hour==t.getHour() & minute<t.getMinute()){ return true; } else if( hour==t.getHour() & minute==t.getMinute() & second<t.getSecond()) { return true; } else if ( hour==t.getHour() & minute==t.getMinute() & second==t.getSecond() & microSecond<t.getMicroSecond()) { return true; } return false; } public boolean timeLowerEqual(CHECTime t){ if(timeLower(t) || equal(t)) return true; return false;}public boolean timeUpperEqual(CHECTime t){ if(timeUpper(t) || equal(t)) return true; return false;}*/public long addMicroSecond(long s){ long tmpms=s+microSecond; long sec=tmpms/1000; long tmp=tmpms%1000; if(tmp<0) { sec--; tmp=1000+tmp; } microSecond=(int)tmp; return add(sec);}public long add(long s){ long dt=0,ht=0,mt=0,st=0; long tmp=0; dt=s / 86400;//one day is 86400 seconds tmp=s%86400;//last seconds ht=tmp/3600; tmp=tmp%3600; mt=tmp/60; st=tmp%60; second+=st; if(second>59){ second-=60; mt++; } else if(second<0) { second+=60; mt--; } minute+=mt; if(minute>59) { minute-=60; ht++; } else if(minute<0) { minute+=60; ht--; } hour+=ht; if(hour>23){ hour-=24; dt++; } else if(hour<0) { hour+=24; dt--; } return dt;}public long add(CHECTime t){ long dt=0,ht=0,mt=0,st=0; long tmp=0; ht=t.getHour(); mt=t.getMinute(); st=t.getSecond(); if(second>59){ second-=60; mt++; } minute+=mt; if(minute>59) { minute-=60; ht++; } hour+=ht; if(hour>23){ hour-=24; dt++; } return dt;}public long diffTime(CHECTime t){ int h1,m1, s1; int h2,m2,s2; h1=hour; m1=minute; s1=second; h2=t.getHour(); m2=t.getMinute(); s2=t.getSecond(); return ((h1-h2)*60+m1-m2)*60+s1-s2;}private boolean judgeIllegeValue(){ boolean b=false; if (hour>23) { hour%=24; b=true; } if(minute>59){ minute%=60; b=true; } if(second>59){ second%=60; b=true; } if(b){ System.out.println("Illege time value! Be foramt."); } return b;}public long add(int flag,long s){ long tmp=0; if(flag==FLAG_SECOND) { tmp=s; } else if(flag==FLAG_MINUTE) { tmp=s*60; } else if(flag==FLAG_HOUR) { tmp=s*3600; } return add(tmp);}public long getStamp() { return (hour*100+minute)*100+second; }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -