사용자 DOB가 문자열로 표시됩니다 (묻지 않음). 어떻게하면 18 세 이상인지 쉽게 확인할 수 있습니까? DateDiff를 사용합니까? 문자열을 날짜로 먼저 변환하는 방법은 무엇입니까? 날짜는 dd/mm/yyyy 형식입니다.VBScript 생년월일을 기준으로 18 세 이상인 사람에게만 적용됩니다.
많은 감사 조나단
사용자 DOB가 문자열로 표시됩니다 (묻지 않음). 어떻게하면 18 세 이상인지 쉽게 확인할 수 있습니까? DateDiff를 사용합니까? 문자열을 날짜로 먼저 변환하는 방법은 무엇입니까? 날짜는 dd/mm/yyyy 형식입니다.VBScript 생년월일을 기준으로 18 세 이상인 사람에게만 적용됩니다.
많은 감사 조나단
뭔가 :
stringDate = "02/12/1990"
if IsDate(stringDate) then
document.write(DateDiff(yyyy, CDate(stringDate), Date()))
end if
네, 당신은 당신은 정말 년이 필요하기 때문에 다음 문자열과 참조 DateDiff ("YYYY", 날짜 1, 날짜 2)를 변환에서는 CDate이 필요합니다. 같은
내가 18 세 이하의 액세스를 허용 할 수 없기 때문에 dob birth로 정확한해야합니다. 사용자가 모두 17 명 또는 18 명이므로 18 세 이상이어야합니다. 감사합니다. – Jonathan
방금 다른 고통을 발견했습니다. CDate()는 로케일 고유의 DD/MM/YYYY에 대한 도움이 필요할 수 있습니다. 이를 위해, 구성 부품을 파싱하고 CDate (mm.dd.yyyy) – LesterDove
으로 다시 피드 할 수 있습니다. 정확히 처음 생각한 것입니다. 사실 ... 나는 "yyyy"부분에서 틀렸어. 나는 그것이 수년을 비교했다고 생각했다. 그러나 오히려, 그것은 반환되는 것을 명시한다 ... 나는 명확성을 위해 주석을 삭제했다. – Armstrongest
의 VBScript의에서는 CDate 함수는 날짜를 변환하는 현재 로케일을 사용합니다. 문제가 발생할 수 있습니다.
대안은 일을 그것에게 먼 길을 구문 분석하는 것입니다 :
d = "02/05/1984"
sYear = cint(right(d,4))
sMonth = cint(mid(4,2))
sDay = cint(left(d,2))
ds = DateSerial(sYear, sMonth, sDay)
지금 당신은 당신의 참조 DateDiff을 수행 할 수 있습니다
if (DateDiff("yyyy", d, ds) > 18) ...
그리고 만약에 d=02/09/1994
, ds = 26/07/2012
을. datediff("yyyy", d, ds)
는 18 세이지만 18 세가 아닌 사람은 몇 달을 기다려야합니다. 어쩌면 월별로 비교해야합니까?
DOB를 가지고 18 년을 추가하고 현재 날짜가 같거나 더 높은지 확인하십시오.
DOB는 문자열입니다. 이 대답은 원래의 문제를 어떻게 해결합니까? –
작동 시키셨습니까? – Armstrongest
DontAskDontTell 함수를 사용해 보셨습니까? – Smandoli