Postingan lainnya
Ask Java, Cara membuat nomor faktur
selamat pagi master-master, mau bertanyak lagi nih hehehe
bagaimana caranya membuat nomor faktur yang ketika tanggal berganti kembali ke nomor 001, misalnya
tanggal hari ini 29 Maret 2018 29032018001 29032018002 29032018003 29032018004 29032018005 dst
ketika tanggal berganti 30 Maret 2018 30032018001 30032018002 dst
mohon pencerahannya master-master
7 Jawaban:
Saya coba bantu logic nya:
public autoNumber(){
//pertama cek dulu apakah "faktur terakhir yg disimpan" sama dengan "hari ini"
Date maxDate = "SELECT MAX (tanggal) AS "MaxDate" FROM Faktur";
Date today = new Date();
if (maxDate != today){
//Jika faktur terakhir tidak sama, maka akan membuat faktur baru dari 001
String noFaktur = today + "001";
} else {
//Jika sama dengan today, maka akan ambil nofaktur akhir hari ini
String noFaktur = "SELECT noFaktur FROM Faktur";
noFaktur = Substr(noFaktur, 8); //ambil 3 digit terakhir dengan substring
//ubah format noFaktur "001" menjadi "1" dan lakukan penambahan;
int noFakturTerbaru = String.format("%03d", noFaktur); //hasilnya 1
noFakturTerbaru++; //hasilnya 2
//buat noFaktur Baru untuk di insert ke database
String noFakturBaru = today + "00" + String.valueOf(noFakturTerbaru);
sql = "Insert into Faktur set noFaktur = " + noFakturBaru ;
}
}
**sory codingannya salah2, tapi logic nya seperti itu **untuk Date nya silahkan di parse formatnya, bisa dengan SimpleDateFormat **untuk SQL Query silahkan dengan metode yg digunakan
jika ada error boleh ditanyakan lagi, terimakasih
terima kasih sudah merespon pertanyaan saya, saya akan coba logic yang agan berikan heheheh
Maaf gan, ane sudah coba tapi masih belum berhasil hehehe, mohon responnya
Di bagian if nya bang, mohon bantuannya
Jawaban Terpilih
"Di bagian if nya bang, mohon bantuannya"
untuk membandingkan Date, bisa pakai:
1. Date.compareTo()
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2009-12-31");
Date date2 = sdf.parse("2010-01-31");
System.out.println("date1 : " + sdf.format(date1));
System.out.println("date2 : " + sdf.format(date2));
if (date1.compareTo(date2) > 0) {
System.out.println("Date1 is after Date2");
} else if (date1.compareTo(date2) < 0) {
System.out.println("Date1 is before Date2");
} else if (date1.compareTo(date2) == 0) {
System.out.println("Date1 is equal to Date2");
} else {
System.out.println("How to get here?");
}
}
}
2. Date.before(), Date.after() and Date.equals()
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate2 {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2009-12-31");
Date date2 = sdf.parse("2010-01-31");
System.out.println("date1 : " + sdf.format(date1));
System.out.println("date2 : " + sdf.format(date2));
if (date1.after(date2)) {
System.out.println("Date1 is after Date2");
}
if (date1.before(date2)) {
System.out.println("Date1 is before Date2");
}
if (date1.equals(date2)) {
System.out.println("Date1 is equal Date2");
}
}
}
3. Calender.before(), Calender.after() and Calender.equals()
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TestDate3 {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2009-12-31");
Date date2 = sdf.parse("2010-01-31");
System.out.println("date1 : " + sdf.format(date1));
System.out.println("date2 : " + sdf.format(date2));
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
if (cal1.after(cal2)) {
System.out.println("Date1 is after Date2");
}
if (cal1.before(cal2)) {
System.out.println("Date1 is before Date2");
}
if (cal1.equals(cal2)) {
System.out.println("Date1 is equal Date2");
}
}
}
4. Java 8
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class TestDate4 {
public static void main(String[] args) {
DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate date1 = LocalDate.of(2009, 12, 31);
LocalDate date2 = LocalDate.of(2010, 01, 31);
System.out.println("date1 : " + sdf.format(date1));
System.out.println("date2 : " + sdf.format(date2));
System.out.println("Is...");
if (date1.isAfter(date2)) {
System.out.println("Date1 is after Date2");
}
if (date1.isBefore(date2)) {
System.out.println("Date1 is before Date2");
}
if (date1.isEqual(date2)) {
System.out.println("Date1 is equal Date2");
}
System.out.println("CompareTo...");
if (date1.compareTo(date2) > 0) {
System.out.println("Date1 is after Date2");
} else if (date1.compareTo(date2) < 0) {
System.out.println("Date1 is before Date2");
} else if (date1.compareTo(date2) == 0) {
System.out.println("Date1 is equal to Date2");
} else {
System.out.println("How to get here?");
}
}
}
link: https://www.mkyong.com/java/how-to-compare-dates-in-java/
Terima kasih banyak gan, saya coba dulu informasinya