1 21 22 package org.opensubsystems.core.util; 23 24 32 public class MyTimer 33 { 34 36 39 private long m_lStartTime; 40 41 44 private long m_lStopTime; 45 46 48 52 public MyTimer( 53 ) 54 { 55 reset(); 56 } 57 58 60 63 public long getStartTime() 64 { 65 return m_lStartTime; 66 } 67 68 71 public long getStopTime() 72 { 73 return m_lStopTime; 74 } 75 76 79 public void reset( 80 ) 81 { 82 m_lStartTime = System.currentTimeMillis(); 83 m_lStopTime = 0; 84 } 85 86 89 public void stop( 90 ) 91 { 92 m_lStopTime = System.currentTimeMillis(); 93 } 94 95 100 public long getDuration( 101 ) 102 { 103 long lStopTime; 104 105 if (m_lStopTime == 0) 106 { 107 lStopTime = System.currentTimeMillis(); 108 } 109 else 110 { 111 lStopTime = m_lStopTime; 112 } 113 114 return lStopTime - m_lStartTime; 115 } 116 117 121 public String toString( 122 ) 123 { 124 long lTotalMS = getDuration(); 125 long lMS = lTotalMS % 1000; 126 long lTotalSecs = lTotalMS / 1000; 127 long lSecs = lTotalSecs % 60; 128 long lTotalMins = lTotalSecs / 60; 129 long lMinutes = lTotalMins % 60; 130 long lHours = lTotalMins / 60; 131 StringBuffer sbBuffer = new StringBuffer (); 132 133 if (lHours > 0) 134 { 135 sbBuffer.append(lHours); 136 sbBuffer.append(":"); 137 sbBuffer.append(lMinutes); 138 sbBuffer.append(":"); 139 sbBuffer.append(lSecs); 140 sbBuffer.append("."); 141 sbBuffer.append(lMS); 142 } 143 else if (lMinutes > 0) 144 { 145 sbBuffer.append(lMinutes); 146 sbBuffer.append(":"); 147 sbBuffer.append(lSecs); 148 sbBuffer.append("."); 149 sbBuffer.append(lMS); 150 } 151 else if (lSecs > 0) 152 { 153 sbBuffer.append(lSecs); 154 sbBuffer.append("."); 155 sbBuffer.append(lMS); 156 sbBuffer.append(" seconds"); 157 } 158 else 159 { 160 sbBuffer.append(lMS); 161 sbBuffer.append(" ms"); 162 } 163 164 return sbBuffer.toString(); 165 } 166 } 167 168 | Popular Tags |