import java.util.Scanner;/** * * @author Yudi Setiawan * */public class Main { public static void main(String[] args) { // Scanner Scanner scan = new Scanner(System.in); // Input Waktu Awal System.out.println("Waktu Awal"); System.out.print("Input Jam : "); String str_jam_awal = scan.nextLine(); System.out.print("Input Menit : "); String str_menit_awal = scan.nextLine(); System.out.print("Input Detik : "); String str_detik_awal = scan.nextLine(); // Input Waktu Akhir System.out.println("\nWaktu Akhir"); System.out.print("Input Jam : "); String str_jam_akhir = scan.nextLine(); System.out.print("Input Menit : "); String str_menit_akhir = scan.nextLine(); System.out.print("Input Detik : "); String str_detik_akhir = scan.nextLine(); // Tampilkan Waktu Awal dan Waktu Akhir String str_waktu_awal = str_jam_awal+":"+str_menit_awal+":"+str_detik_awal; String str_waktu_akhir = str_jam_akhir+":"+str_menit_akhir+":"+str_detik_akhir; System.out.println("Waktu Awal : "+str_waktu_awal); System.out.println("Waktu Akhir : "+str_waktu_akhir); // Konversi variable str menjadi integer int jam_awal = Integer.parseInt(str_jam_awal); int jam_akhir = Integer.parseInt(str_jam_akhir); int menit_awal = Integer.parseInt(str_menit_awal); int menit_akhir = Integer.parseInt(str_menit_akhir); int detik_awal = Integer.parseInt(str_detik_awal); int detik_akhir = Integer.parseInt(str_detik_akhir); // Proses pencarian selisih Waktu Awal dan Waktu Akhir // Langkah Ketiga, cari selisih detik awal dan detik akhir int selisih_detik = 0; // Jika detik awal > detik akhir // Contohnya, detik awal = 40 dan detik akhir = 30 if(detik_awal > detik_akhir) { while(detik_awal != detik_akhir) { if(detik_awal == 60) { detik_awal = 0; menit_awal++; continue; } detik_awal++; selisih_detik++; } } // Jika detik awal < detik akhir // Contohnya, detik awal = 30 dan detik akhir = 40 else if(detik_awal < detik_akhir) { selisih_detik = detik_akhir - detik_awal; } // Masukkan ke variable selisih waktu int selisih_waktu = selisih_detik; //------------------------------------------------------- // Langkah Kedua, cari selisih menit awal dan menit akhir int selisih_menit = 0; // Jika menit awal > menit akhir. // Contohnya, menit awal = 50 dan menit akhir = 10 if(menit_awal > menit_akhir) { while(menit_awal != menit_akhir) { if(menit_awal == 60) { menit_awal = 0; jam_awal++; continue; } menit_awal++; selisih_menit++; } } // Jika menit awal < menit akhir // Contohnya, menit awal = 10 dan menit akhir = 50 else if(menit_awal < menit_akhir) { selisih_menit = menit_akhir - menit_akhir; } // Ubah selisih menit menjadi satuan detik (1 menit = 60 detik) selisih_waktu += selisih_menit * 60; // Langkah Pertama, cari selisih jam awal dan jam akhir int selisih_jam = 0; // Jika jam awal > jam akhir. Contohnya, Jam Awal = 22 (10 malam) dan Jam Akhir = 05 (5 pagi) if(jam_awal > jam_akhir) { // Cocokkan antara jam awal dan jam akhir while(jam_awal != jam_akhir) { if(jam_awal == 24) { jam_awal = 0; continue; } jam_awal++; selisih_jam++; } } // Jika jam awal < jam akhir. Contohnya, Jam Awal = 05 (5 pagi) dan Jam Akhir = 22 (10 malam) else if(jam_awal < jam_akhir) selisih_jam = jam_akhir - jam_awal; // Ubah selisih jam menjadi satuan detik (1 jam = 3600 detik) selisih_waktu += selisih_jam * 3600; // Tampilkan selisih antara waktu awal dan waktu akkhir dalam satuan detik System.out.println("Selisih antara waktu awal dan waktu akhir (detik) : "+selisih_waktu); // Ubah selisih_waktu menjadi format waktu HH:mm:ss // Ubah selisih waktu menjadi satuan jam int jam = selisih_waktu / 3600; selisih_waktu %= 3600; // Ubah selisih waktu menjadi satuan menit int menit = 0; int detik = 0; if(selisih_waktu >= 60) { menit = selisih_waktu / 60; detik = selisih_waktu % 60; } else { menit = 0; detik = selisih_waktu; } // Tampilkan selisih antara waktu awal dan waktu akhir dalam format waktu HH:mm:ss String waktu = jam+":"+menit+":"+detik; System.out.println("Selisih antara waktu awal dan waktu akhir (HH:mm:ss) : "+waktu); }}
OUTPUT:
Bisa juga menggunakan code sbb:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
import org.joda.time.DateTime;
import org.joda.time.Seconds;
/**
*
* @author Yudi Setiawan
*
*/
public class Main2 {
public static void main(String[] args) throws ParseException {
// SimpleDateFormat
SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");
// Scanner
Scanner scan = new Scanner(System.in);
// Input Waktu Awal
System.out.println("Waktu Awal");
System.out.print("Input Jam : "); String waktu_awal = scan.nextLine()+":";
System.out.print("Input Menit : "); waktu_awal += scan.nextLine()+":";
System.out.print("Input Detik : "); waktu_awal += scan.nextLine();
// Input Waktu Akhir
System.out.println("\nWaktu Akhir");
System.out.print("Input Jam : "); String waktu_akhir = scan.nextLine()+":";
System.out.print("Input Menit : "); waktu_akhir += scan.nextLine()+":";
System.out.print("Input Detik : "); waktu_akhir += scan.nextLine();
// Ubah waktu awal dan waktu akhir menjadi DateTime
DateTime dtAwal = new DateTime(sdfTime.parse(waktu_awal));
DateTime dtAkhir = new DateTime(sdfTime.parse(waktu_akhir));
// Tampilkan waktu awal dan waktu akhir
System.out.println();
System.out.println("Waktu Awal : "+waktu_awal);
System.out.println("Waktu Akhir : "+waktu_akhir);
// proses cari selisih waktu dalam satuan detik
// 10:50:20 - 11:30:50
int selisih_detik = Math.abs(Seconds.secondsBetween(dtAwal, dtAkhir).getSeconds());
System.out.println("Selisih waktu awal dan waktu akhir (detik) : "+selisih_detik);
// Ubah selisih detik menjadi format HH:mm:ss
int jam = selisih_detik / 3600;
selisih_detik %= 3600;
int menit = 0;
int detik = 0;
if(selisih_detik >= 60) {
menit = selisih_detik / 60;
detik = selisih_detik % 60;
} else {
detik = selisih_detik;
}
// Tampilkan selisih waktu dalam format HH:mm:ss
String selisih_waktu = jam+":"+menit+":"+detik;
System.out.println("Selisih waktu awal dan waktu akhir (HH:mm:ss) : "+selisih_waktu);
}
}
public static void main(String[] args) {
Scanner Input = new Scanner (System.in);
System.out.println ("syarat -j2 harus lebih besar dari j1. -nilai keduanya tidak boleh nol");
System.out.print("Jam 1 =");
int j1 = Input.nextInt();
System.out.print("Menit 1 =");
int m1 = Input.nextInt();
System.out.print("Detik 1 =");
int d1 = Input.nextInt();
System.out.print("Jam 2 =");
int j2 = Input.nextInt();
System.out.print("Menit 2 =");
int m2 = Input.nextInt();
System.out.print("Detik 2 =");
int d2 = Input.nextInt();
int j3, sisa, m3, d3;
int waktu1, waktu2, selisih;
waktu1 = (3600*j1)+(60*m1)+d1;
waktu2 = (3600*j2)+(60*m2)+d2;
selisih = waktu2-waktu1;
j3 = selisih/3600;
sisa = selisih%3600;
m3 = sisa/60;
d3 = sisa%60;
System.out.println ("MENGHITUNG SELISIH WAKTU");
System.out.println ("========================");
System.out.println ("\nWaktu Pertama = "+j1+":"+m1+":"+d1);
System.out.println ("Waktu Kedua = "+j2+":"+m2+":"+d2);
System.out.println ("\nSelisih Waktu = "+j3+":"+m3+":"+d3);
}
}
Scanner Input = new Scanner (System.in);
System.out.println ("syarat -j2 harus lebih besar dari j1. -nilai keduanya tidak boleh nol");
System.out.print("Jam 1 =");
int j1 = Input.nextInt();
System.out.print("Menit 1 =");
int m1 = Input.nextInt();
System.out.print("Detik 1 =");
int d1 = Input.nextInt();
System.out.print("Jam 2 =");
int j2 = Input.nextInt();
System.out.print("Menit 2 =");
int m2 = Input.nextInt();
System.out.print("Detik 2 =");
int d2 = Input.nextInt();
int j3, sisa, m3, d3;
int waktu1, waktu2, selisih;
waktu1 = (3600*j1)+(60*m1)+d1;
waktu2 = (3600*j2)+(60*m2)+d2;
selisih = waktu2-waktu1;
j3 = selisih/3600;
sisa = selisih%3600;
m3 = sisa/60;
d3 = sisa%60;
System.out.println ("MENGHITUNG SELISIH WAKTU");
System.out.println ("========================");
System.out.println ("\nWaktu Pertama = "+j1+":"+m1+":"+d1);
System.out.println ("Waktu Kedua = "+j2+":"+m2+":"+d2);
System.out.println ("\nSelisih Waktu = "+j3+":"+m3+":"+d3);
}
}
reff:
http://jagocoding.com/tutorial/1197/Cara_Mencari_Selisih_Waktu_di_Java

Tidak ada komentar:
Posting Komentar