simclock.java
来自「一个小型网络仿真器的实现」· Java 代码 · 共 87 行
JAVA
87 行
/*
JaNetSim --- Java Network Simulator
-------------------------------------
This software was developed at the Network Research Lab, Faculty of
Computer Science and Information Technology (FCSIT), University of Malaya.
This software may be used and distributed freely. FCSIT assumes no responsibility
whatsoever for its use by other parties, and makes no guarantees, expressed or
implied, about its quality, reliability, or any other characteristic.
We would appreciate acknowledgement if the software is used.
FCSIT ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND
DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING
FROM THE USE OF THIS SOFTWARE.
*/
package janetsim;
public class SimClock {
private static final double NSEC_PER_TICK = 10.0;
private static final double USEC_PER_TICK = 10.0e-3;
private static final double MSEC_PER_TICK = 10.0e-6;
private static final double SEC_PER_TICK = 10.0e-9;
private static final long TICK_PER_HOUR = 360000000000l;
private static final long TICK_PER_MIN = 6000000000l;
private static final long TICK_PER_SEC = 100000000l;
private static final long TICK_PER_MSEC = 100000l;
public static double getSec(long tick) {
return tick * SEC_PER_TICK;
}
public static double getMSec(long tick) {
return tick * MSEC_PER_TICK;
}
public static double getUSec(long tick) {
return tick * USEC_PER_TICK;
}
public static double Tick2Sec(long tick) {
return tick * SEC_PER_TICK;
}
public static double Tick2MSec(long tick) {
return tick * MSEC_PER_TICK;
}
public static double Tick2USec(long tick) {
return tick * USEC_PER_TICK;
}
public static long Sec2Tick(double sec) {
return (long)(sec / SEC_PER_TICK);
}
public static long MSec2Tick(double msec) {
return (long)(msec / MSEC_PER_TICK);
}
public static long USec2Tick(double usec) {
return (long)(usec / USEC_PER_TICK);
}
public static String getClockString(long tick) {
String newTime="";
long hour = tick/TICK_PER_HOUR;
if(hour<10) newTime+="0";
newTime+= String.valueOf(hour);
newTime+=":";
long tickleft = tick%TICK_PER_HOUR;
long min = tickleft/TICK_PER_MIN;
if(min<10) newTime+="0";
newTime+=String.valueOf(min);
newTime+=":";
tickleft = tickleft%TICK_PER_MIN;
long sec = tickleft/TICK_PER_SEC;
if(sec<10) newTime+="0";
newTime+=String.valueOf(sec);
newTime+=".";
tickleft = tickleft%TICK_PER_SEC;
long msec = tickleft/TICK_PER_MSEC;
if(msec<10) newTime+="00";
else if(msec<100) newTime+="0";
newTime+=String.valueOf(msec);
return newTime;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?