/* 
 * 作成日: 2004/04/09 
 * License Apache 2.0 
 * この生成されたコメントの挿入されるテンプレートを変更するため 
 * ウィンドウ > 設定 > Java > コード生成 > コードとコメント 
 */ 
package org.jpn.xucker.subtitle.srt; 
 
 
 
/** 
 * @author ak 
 * License Apache 2.0 
 * 
 * この生成されたコメントの挿入されるテンプレートを変更するため 
 * ウィンドウ > 設定 > Java > コード生成 > コードとコメント 
 */ 
public class TimeData { 
private int hour; 
private int second; 
private int minute; 
private int millisecond; 
public TimeData(long millisecond){ 
  setTime(millisecond); 
} 
public void setTime(long millisecond){ 
  long hour_millisecond=(60*60*1000); 
    int minute_millisecond=60*1000; 
    int second_millisecond=1000; 
    int hour=(int)(millisecond/hour_millisecond); 
    long remain=millisecond%hour_millisecond; 
    int minute=(int)(remain/minute_millisecond); 
    remain=remain%minute_millisecond; 
    int second=(int)(remain/second_millisecond); 
    remain=remain%second_millisecond; 
     
    setHour(hour); 
    setMinute(minute); 
    setSecond(second); 
    setMillisecond((int)remain); 
} 
 
public TimeData(String line){ 
  int hour=Integer.parseInt(line.substring(0,2)); 
    int minute=Integer.parseInt(line.substring(3,5)); 
    int second=Integer.parseInt(line.substring(6,8)); 
    int milli=Integer.parseInt(line.substring(9,12)); 
    setHour(hour); 
    setMinute(minute); 
    setSecond(second); 
    setMillisecond(milli); 
} 
public long getTime(){ 
  long result=millisecond; 
  result+=second*1000; 
  result+=minute*60*1000; 
  result+=hour*60*60*1000; 
  return result; 
} 
public String toString(){ 
  return toLabel2(hour)+":"+toLabel2(minute)+":"+toLabel2(second)+","+toLabel3(millisecond); 
} 
public String toLabel2(int number){ 
  String v=""+number; 
  if(v.length()<2) 
  v="0"+v; 
  return v; 
} 
 
public String toLabel3(int number){ 
  String v=""+number; 
  if(v.length()<2) 
  v="0"+v; 
  if(v.length()<3) 
  v="0"+v; 
  if(v.length()>3) 
  return "999"; 
  return v; 
} 
 
/** 
 * @return 
 */ 
public int getHour() { 
  return hour; 
} 
 
/** 
 * @return 
 */ 
public int getMillisecond() { 
  return millisecond; 
} 
 
/** 
 * @return 
 */ 
public int getMinute() { 
  return minute; 
} 
 
/** 
 * @return 
 */ 
public int getSecond() { 
  return second; 
} 
 
/** 
 * @param i 
 */ 
public void setHour(int i) { 
  hour = i; 
} 
 
/** 
 * @param i 
 */ 
public void setMillisecond(int i) { 
  millisecond = i; 
} 
 
/** 
 * @param i 
 */ 
public void setMinute(int i) { 
  minute = i; 
} 
 
/** 
 * @param i 
 */ 
public void setSecond(int i) { 
  second = i; 
} 
/** 
 * @param duration 
 */ 
public synchronized void roll(long duration) { 
  long current=getTime(); 
  current+=duration; 
  setTime(current); 
} 
 
}
    
    |