Java:计算时间间隔
今天,一个朋友拿着一个网页问我功能如何实现的,网页的程序截图如下:
这个网页程序是计算时间间隔的。
关于时间间隔的计算方法,很多脚本语言或者编程语言都可以做到。
正好自己很久没有写程序了,所以就用Java做样例,写了一段代码。
我的程序执行后的效果如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
------------------------- 计算时间间隔 ------------------------- 输入一个起始时间: 2014-10-19 13:01:32 输入一个终止时间: 1937-9-29 24:23:45 --- 反馈信息 从:2014-10-19 01:01:32 到:1937-09-30 12:23:45 ------------------------ 计算结果 间隔时间为:-77年-1月-4020周-28143日-675444时-40526677分-2431600667秒 ------------------------ |
该程序的源码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.io.*; public class TotalCenter { // 入口程序:main() public static void main(String [] args){ // 输出标题 System.out.println("-------------------------"); System.out.println("计算时间间隔"); System.out.println("-------------------------"); // 变量声明 //程序内部计算 Date to_date; //终止时间 Date from_date; //起始时间 //Date between_date; //间隔时间 String str_to; //终止时间 String str_from; //起始时间 SimpleDateFormat format_Date = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); int between_year; int between_month; long between_week; long between_day; long between_hour; long between_min; long between_second; String between_str; //用户输入 String input_to; //终止时间 String input_from; //起始时间 BufferedReader br_user_input = new BufferedReader(new InputStreamReader(System.in)); // 获取用户输入 try { //起始时间 System.out.println("输入一个起始时间:"); input_from = br_user_input.readLine().toString(); //终止时间 System.out.println("输入一个终止时间:"); input_to = br_user_input.readLine().toString(); //反馈输入: //起始时间 //System.out.println("--- 反馈信息"); //System.out.println("从:" + input_from); //System.out.println("到:" + input_to); //转换输入的字符串为时间格式 //起始时间 from_date = format_Date.parse(input_from); //终止时间 to_date = format_Date.parse(input_to); //反馈输入: //起始时间 System.out.println("--- 反馈信息"); System.out.println("从:" + format_Date.format(from_date)); System.out.println("到:" + format_Date.format(to_date)); //计算时间间隔 between_year = to_date.getYear() - from_date.getYear(); between_month = to_date.getMonth() - from_date.getMonth(); between_week = (to_date.getTime() - from_date.getTime())/1000/60/60/24/7; between_day = (to_date.getTime() - from_date.getTime())/1000/60/60/24; between_hour = (to_date.getTime() - from_date.getTime())/1000/60/60; between_min = (to_date.getTime() - from_date.getTime())/1000/60; between_second = (to_date.getTime() - from_date.getTime())/1000; between_str = between_year + "年" + between_month + "月" +between_week + "周" + between_day + "日" + between_hour + "时" + between_min + "分" + between_second + "秒"; //输出计算的间隔值 System.out.println("------------------------"); System.out.println("计算结果"); System.out.println("间隔时间为:" + between_str); System.out.println("------------------------"); } catch (IOException | ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |
——————————————————————
Ending。