java编写的测试用时函数
调用方法
long start_time=getCurrentNow();
//
wordCountMapReduce.main(new String[]{});
//
long end_time=getCurrentNow();
String msg=getRunTime(end_time-start_time);
System.out.println("用时:"+msg);
用时函数
//----------------------------------
public static long getCurrentNow()
{
return System.currentTimeMillis();
}
public static String getRunTime(long runTime_ms)
{
long day_xs = 60 * 60 * 24;
long hour_xs = 60 * 60;
long min_xs = 60;
//
long seconds = runTime_ms/1000;
//相差总秒数
long subs = seconds;
//相差天数
long iDays = subs / day_xs;
//
//相差小时数
long day_ms = iDays * day_xs;
long sy_ms = subs - day_ms;
long iHours = sy_ms / hour_xs;
//相差分钟数
long hour_ms = iHours * hour_xs;
long sy_min_ms = sy_ms - hour_ms;
long iMin = sy_min_ms / min_xs;
//相差秒数
long Min_ms = iMin * min_xs;
long sy_second_ms = sy_min_ms - Min_ms;
long iSeconds = sy_second_ms;
//
String msg = "";
if (iDays <= 0) {
if (iHours <= 0) {
if (iMin <= 0) {
msg = iSeconds + "秒";
}
else {
msg = iMin + "分钟" + iSeconds + "秒";
}
}
else {
msg = iHours + "小时" + iMin + "分钟";
}
}
else {
msg = iDays + "天" + iHours + "小时" + iMin + "分钟";
}
//
return msg;
}
//----------------------------------
//其它函数
public static String getUTF_8(String str)
throws UnsupportedEncodingException
{
return new String(str.getBytes("ISO-8859-1"), "UTF-8");
}
public static InetAddress getLocalHostLANAddress() {
try {
InetAddress candidateAddress = null;
// 遍历所有的网络接口
for (Enumeration ifaces = NetworkInterface.getNetworkInterfaces(); ifaces.hasMoreElements(); ) {
NetworkInterface iface = (NetworkInterface) ifaces.nextElement();
// 在所有的接口下再遍历IP
for (Enumeration inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements(); ) {
InetAddress inetAddr = (InetAddress) inetAddrs.nextElement();
if (!inetAddr.isLoopbackAddress()) {// 排除loopback类型地址
if (inetAddr.isSiteLocalAddress()) {
// 如果是site-local地址,就是它了
return inetAddr;
} else if (candidateAddress == null) {
// site-local类型的地址未被发现,先记录候选地址
candidateAddress = inetAddr;
}
}
}
}
if (candidateAddress != null) {
return candidateAddress;
}
// 如果没有发现 non-loopback地址.只能用最次选的方案
InetAddress jdkSuppliedAddress = InetAddress.getLocalHost();
return jdkSuppliedAddress;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}