Browse Source

添加时间计算

liuyuqi-dellpc 7 years ago
parent
commit
1a3bc6b4a5
2 changed files with 61 additions and 3 deletions
  1. 7 3
      src/me/yoqi/composename/Compose.java
  2. 54 0
      src/qh/lqg/utils/TimeHelper.java

+ 7 - 3
src/me/yoqi/composename/Compose.java

@@ -3,9 +3,11 @@ package me.yoqi.composename;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.concurrent.TimeUnit;
 
 import qh.lqg.utils.Messages;
 import qh.lqg.utils.TextHelper;
+import qh.lqg.utils.TimeHelper;
 
 /**
  * ClassName: Compose <br/>
@@ -21,7 +23,7 @@ public class Compose {
 	public static void main(String args[]) throws Exception {
 		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
 		System.out.println(df.format(new Date()));// new Date()为获取当前系统时间
-		long starTime = System.currentTimeMillis();
+		long startTime = System.currentTimeMillis();
 		String dataUrl = Messages.getString("Compose.data");
 		String resultUrl = "data/result.txt";
 		String result = "";
@@ -42,13 +44,15 @@ public class Compose {
 					}
 					TextHelper.writeText(resultUrl, result);
 					allChineseName = new ArrayList<String>();
+					long endTime = System.currentTimeMillis();
+					System.out.println("当前耗时:"
+							+ TimeHelper.getTimeDiff(startTime, endTime));
 					System.out.println(flag);
 				}
 			}
 		}
 		long endTime = System.currentTimeMillis();
-		long Time = endTime - starTime;
 		System.out.println(df.format(new Date()));// new Date()为获取当前系统时间
-		System.out.println("总耗时" + Time);
+		System.out.println("总耗时" + TimeHelper.getTimeDiff(startTime, endTime));
 	}
 }

+ 54 - 0
src/qh/lqg/utils/TimeHelper.java

@@ -0,0 +1,54 @@
+package qh.lqg.utils;
+
+import java.text.SimpleDateFormat;
+
+public class TimeHelper {
+	/**
+	 * getTime:(获得给定的long类型时间转换为format). <br/>
+	 *
+	 * @author liuyuqi
+	 * @param time
+	 * @return
+	 * @since JDK 1.7
+	 */
+	public static String getTime(long time) {
+
+		String result = "";
+
+		// millis表示当前系统时间,单位是:毫秒
+		long millis = System.currentTimeMillis();
+
+		int day = (int) (millis / 1000 / 3600 / 24 - time / 3600 / 24);
+
+		switch (day) {
+		case 0:
+			SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
+			result = sdf.format(time * 1000);
+			break;
+		case 1:
+			SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm");
+			result = "昨天 " + sdf2.format(time * 1000);
+			break;
+		case 2:
+			SimpleDateFormat sdf3 = new SimpleDateFormat("HH:mm");
+			result = "前天 " + sdf3.format(time * 1000);
+			break;
+		default:
+			SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
+			result = sdf4.format(time * 1000);
+			break;
+		}
+
+		return result;
+	}
+
+	public static String getTimeDiff(long startTime, long endTime) {
+		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		long l = endTime - startTime;
+		long day = l / (24 * 60 * 60 * 1000);
+		long hour = (l / (60 * 60 * 1000) - day * 24);
+		long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);
+		long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
+		return "" + day + "天" + hour + "小时" + min + "分" + s + "秒";
+	}
+}