채택완료

생년월일 구하는

2023-03-21 (화) 13:51:45 2,204

  sBirthYear = (Convert.ToInt32(sBirthYear) >= 60 || Convert.ToInt32(sBirthYear) <= 99) ? "19" + sBirthYear : "20" + sBirthYear;

입사지원 홈페이지 가 위코드인데  

2000년도 입력하면  수정화면에서 1900년도로 나옵니다.

정상(2000년 -> 2000)  ( 1900년도 -> 1900 으로)으로 어찌 수정 해야 하나요 ??

|

답변 3개 / 댓글 4개

채택된 답변
+20 포인트
2023-03-21 (화) 15:36:26

sBirthYear = (Convert.ToInt32(sBirthYear) >= 60 || Convert.ToInt32(sBirthYear) <= 99) ? "19" + sBirthYear : "20" + sBirthYear;

→

sBirthYear = (Convert.ToInt32(sBirthYear) >= 60 && Convert.ToInt32(sBirthYear) <= 99) ? "19" + sBirthYear : "20" + sBirthYear;

답변에 대한 댓글 1개

아~~~~~~~~ 감사합니다... 이제 됩니다... 정말 감사 합니다. ^^

[2023-나이] 값의 앞에 2자리?

실제로는 현재년도 - 나이 값의 앞에 2자리

답변에 대한 댓글 2개

죄송 합니다.. 이해을 못했습니다. 혹 소스를 적어 주시면 안되겠는지요 ?

현재

string sBirth = (string)dtApplyBasic.Rows[0]["ResidentNo"];
string sBirthYear = sBirth.Substring(0, 2);
string sBirthMon = sBirth.Substring(2, 2);
string sBirthDay = sBirth.Substring(4, 2);

sBirthYear = (Convert.ToInt32(sBirthYear) >= 60 || Convert.ToInt32(sBirthYear) <= 99) ? "19" + sBirthYear : "20" + sBirthYear;
if (Convert.ToInt32(sBirthYear) == 0)
sBirthYear = "2000";




litKRN.Text = sBirthYear + "년 " + sBirthMon + "월 " + sBirthDay + "일";


1900년도는 잘 나옵니다... 2000 년도 넘어가면 1900년도로 표기가 됩니다.

예 ) 1980년 -> 1980년 정상 표기 / 2010년-> 1910년 으로 잘못표기
[code]
$now = date("Y");
$sBirthYear = 59;

$year = 2000;
if(($now - $sBirthYear) < 2000){
$year = 1900;
}
echo $year;
[/code]
이런느낌이요
2023-03-21 (화) 14:34:15

sBirthYear = (Convert.ToInt32(sBirthYear) >= 60 || Convert.ToInt32(sBirthYear) <= 99) ? "19" + sBirthYear : "20" + sBirthYear;

→

sBirthYear = (Convert.ToInt32(sBirthYear) >= 60 || Convert.ToInt32(sBirthYear) <= 99) ? "19" + sBirthYear : "20" + sBirthYear;
if (Convert.ToInt32(sBirthYear) == 0)
    sBirthYear =     "2000";

답변에 대한 댓글 1개

안되네요... 변경 했는데.. 여전히 1900 년도 나오네요

답변을 작성하려면 로그인이 필요합니다.