import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;

public class JB_016_IkiTarihFarki {

	public static void main(String[] args) throws Exception {
		
		Scanner klavye = new Scanner(System.in);
		
		System.out.print("[1] Tarih bilgisi giriniz. Örnek (20/06/2005 14:30:45.350) : ");
		String tarih1 = klavye.nextLine();
		System.out.print("[2] Tarih bilgisi giriniz. Örnek (22/06/2005 16:50:55.850) : ");
		String tarih2 = klavye.nextLine();
		
		System.out.println();
		
		SimpleDateFormat tarihBicim = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.S");
		
		Date date1 = tarihBicim.parse(tarih1);
		Date date2 = tarihBicim.parse(tarih2);
		
		long ms1 = date1.getTime();
		long ms2 = date2.getTime();
		
		long fark = Math.abs(ms1-ms2);

		System.out.println("[1] - " + date1 + "  -> " + ms1 + " milisanyiedir.");
		System.out.println("[2] - " + date2 + "  -> " + ms2 + " milisanyiedir.");
		System.out.println();
		System.out.println("[F] - " + fark + " milisanyiedir.");
		System.out.println();
		
		long gun = TimeUnit.MILLISECONDS.toDays(fark);
		long saat = TimeUnit.MILLISECONDS.toHours(fark) % 24;
		long dakika = TimeUnit.MILLISECONDS.toMinutes(fark) % 60;
		long saniye = TimeUnit.MILLISECONDS.toSeconds(fark) % 60;
		long ms = fark % 1000;
		
		System.out.format("Iki tarih arasindaki fark : %3d gün %2d saat %2d dakika %2d saniye %3d milisaniye'dir.", gun, saat, dakika, saniye, ms);
		
		
		
		// Telegram kanalimis Java Blackboard.
		
		

	}

}