package GUI;
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import javax.swing.JOptionPane;
public class SMS_Check_Input_Birth {
// SMS 에서는 SMS_Manager.SMS_panel_table.textfield_Input_student_birth.getText() 로 사용
public int checkInputBirth(String checkBirth){
int resultInt = 0;
if(checkBirth.length() != 10){
JOptionPane.showMessageDialog(null, "생일을 아래와 같은 형식으로 입력해주세요. \n0000-00-00");
SMS_Manager.SMS_panel_table.textfield_Input_student_birth.requestFocus();
resultInt = 1;
return resultInt;
}
String year = checkBirth.substring(0, 4).toString();
System.out.println("year : " + year);
LocalDate nowDate = LocalDate.now();
nowDate.getYear();
int yearInt = Integer.parseInt(year);
if(yearInt < 1 || yearInt > nowDate.getYear()){
JOptionPane.showMessageDialog(null, "생일 연도를 확인해주세요");
SMS_Manager.SMS_panel_table.textfield_Input_student_birth.requestFocus();
resultInt = 1;
return resultInt;
}
String bar = checkBirth.substring(4, 5).toString();
System.out.println(bar);
if(!bar.equals("-")){
JOptionPane.showMessageDialog(null, "생일을 아래와 같은 형식으로 입력해주세요. \n0000-00-00");
SMS_Manager.SMS_panel_table.textfield_Input_student_birth.requestFocus();
resultInt = 1;
return resultInt;
}
String month = checkBirth.substring(5, 7).toString();
System.out.println("month : " + month);
int monthInt = Integer.parseInt(month);
if(monthInt < 1 || monthInt > 12){
JOptionPane.showMessageDialog(null, "생일 월을 확인해주세요");
SMS_Manager.SMS_panel_table.textfield_Input_student_birth.requestFocus();
resultInt = 1;
return resultInt;
}
String bar2 = checkBirth.substring(7, 8).toString();
System.out.println(bar2);
if(!bar2.equals("-")){
JOptionPane.showMessageDialog(null, "생일을 아래와 같은 형식으로 입력해주세요. \n0000-00-00");
SMS_Manager.SMS_panel_table.textfield_Input_student_birth.requestFocus();
resultInt = 1;
return resultInt;
}
String day = checkBirth.substring(8, 10).toString();
System.out.println("day : " + day);
/*
System.out.println(novemberYearMonth.lengthOfMonth()); // 그 달의 날 수
System.out.println(novemberYearMonth.atEndOfMonth()); // 마지막 날짜
*/
String novemberDate = year+bar+month+bar2+"01";
YearMonth novemberYearMonth =
YearMonth.from(LocalDate.parse(novemberDate, DateTimeFormatter.ofPattern("yyyy-MM-dd")));
int dayInt = Integer.parseInt(day);
if(dayInt < 1 || dayInt > novemberYearMonth.lengthOfMonth()){
JOptionPane.showMessageDialog(null, "생일 날짜를 확인해주세요.");
SMS_Manager.SMS_panel_table.textfield_Input_student_birth.requestFocus();
resultInt = 1;
return resultInt;
}
return resultInt;
}
}