Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // https://www.facebook.com/groups/1403852566495675/permalink/2664876580393261/
- /*
- 附上我Google搜尋時查到的所有參考資料。
- 這題目主要是要考驗你如何用Java API解析字串轉成日期物件
- 還有如何把二個日期物件相減,取出差值,轉換成天數、小時、分鐘。
- java 日期格式化-- SimpleDateFormat 的使用。字符串轉日期,日期轉字符串
- https://reurl.cc/oLE4oM
- .
- [語法]Scanner的取讀種類
- https://reurl.cc/exK7YQ
- .
- 日期操作類(DateFormat與SimpleDateFormat)的區別和實例
- https://reurl.cc/mnK411
- .
- java取絕對值math.abs函數使用方法
- https://reurl.cc/d04lMV
- .
- java 日期相差多少個小時數
- https://reurl.cc/AqvLNK
- .
- */
- package com.sample;
- import static java.lang.System.out;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.Scanner;
- public class TestDate {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String dateStr1 = "";
- String dateStr2 = "";
- Date date1 = null;
- Date date2 = null;
- out.println("範例日期格式:2020/2/22.14:40");
- out.print("請輸入日期1:");
- dateStr1 = scanner.next();
- out.print("請輸入日期2:");
- dateStr2 = scanner.next();
- // 比對範例日期格式:[2020/2/22.14:40] → [yyyy/MM/dd.HH:mm]
- // 設定輸入文字解析成日期的格式
- SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy/MM/dd.HH:mm");
- try {
- date1 = sdfInput.parse(dateStr1);// 把字串解析成 java.util.Date物件
- date2 = sdfInput.parse(dateStr2);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- long time1 = date1.getTime();// 取出Date物件的毫秒數
- long time2 = date2.getTime();
- long difference = Math.abs(time2 - time1);
- long day = difference / (24 * 60 * 60 * 1000);// 1000毫秒=1秒, 60秒=1分鐘, 60分鐘=1小時, 24小時=1天
- long hour = (difference / (60 * 60 * 1000) - (day * 24));
- long minutes = ((difference / (60 * 1000)) - (day * 24 * 60) - (hour * 60));
- out.printf("二個日期相差:%d:%d%n", hour, minutes);
- if (scanner != null) {
- scanner.close();
- scanner = null;
- }
- out.println("finish");
- }// end of main method
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement