Postingan lainnya
Kondisi jika a = b or c
public static void main(String []args) throws ParseException{
String start = "14/04/2020";
String end = "15/04/2020";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date today = new Date();
Date startDate = sdf.parse(start);
Date endDate = sdf.parse(end);
if (today.after(startDate) == today.before(endDate)) {
System.out.println("aktif");
} else {
System.out.println("not aktif");
}
}
saya ada case di atas, yang saya mau jika hari ini sama dengan tglawal or hari ini sama dengan tglakhir itu aktif, bagaimana penyelesaiannya, karna output dari case di atas masih not aktif
1
1 Jawaban:
Logic if yang kamu gunakan tidak sesuai dengan pertanyaan, kenapa saya sebut demikian :
- Fungsi after() dan before() akan mengembalikan bolean (true/false)
- today.after(startDate) sama dengan jika hari ini lebih besar dr startDate (TglAwal) dan utk before() adlh kebalikannya
- Sementara pertanyaannya adalah membandingkan hari ini sama dg startDate or endDate , bukan lebih besar atau lebih kecil
NB: Dari contoh yg kamu buat, tentu saja output 'not aktif' karena, <pre> if (today.after(startDate) == today.before(endDate)) { System.out.println("aktif"); } else { System.out.println("not aktif"); } // today.after(startDate) hasilnya true // today.before(endDate) hasilnya false // Output akan menjadi 'aktif' jika tglAkhir kamu rubah jd '16/04/2020' atau lebih besar lagi </pre>
1