private static int GetAge(string sNoBirth, DateTime dtAge)
{
int iAge = 0;
DateTime dttime = DateTime.ParseExact(sNoBirth, "yyyyMMdd", null);
DateTime dtnow = DateTime.Now;
int birth_year = dttime.Year;
int birth_month = dttime.Month;
int birth_day = dttime.Day;
int now_year = dtnow.Year;
int now_month = dtnow.Month;
int now_day = dtnow.Day;
if (birth_month < now_month)
iAge = now_year - birth_year;
else if (birth_month == now_month)
{
if (birth_day <= now_day)
iAge = now_year - birth_year;
else
iAge = now_year - birth_year - 1;
}
else
iAge = now_year - birth_year -1;
return iAge;
}
private void NO_BIRTH_Leave(object sender, EventArgs e)
{
DateTime dtAge = DateTime.ParseExact(sNoBirth,"yyyyMMdd", null);
int iAge = GetAge(sNoBirth, dtAge);
if (iAge < 14)
{
MessageBox.Show("만 14세 이상이어야 합니다.");
return;
}
}
C# 나이 계산 만나이 계산입니다
no_birth 라는 텍스트박스를 나이입력하는곳으로 보고 그 텍스트 박스를 떠났을때 이벤트를 발생시켜서 나이계산을 체크하면 된다.
만약에 mask가 있다면 아래 문구를 이용해서 - 를 제거하면 된다.
string sNoBirth = NO_BIRTH.Text.Replace("-", "").Trim();
'프로그래밍 > C#' 카테고리의 다른 글
C# 마우스 드래그로 폼 움직이기 (0) | 2019.12.01 |
---|---|
C# 폼 최소화,최대화 닫기 버튼 없애기, 상단 바 없애기 (0) | 2019.12.01 |
C# devexpress 윈도우 10 폰트 문제 해결 (0) | 2019.09.17 |
C# 에서 left, right, mid 함수 사용방법 (0) | 2018.12.18 |
SMTP 서버에 보안 연결이 필요하거나 클라이언트가 인증되지 않았습니다. (0) | 2018.03.05 |
댓글