다른 명령
이 모듈에 대한 설명문서는 모듈:AgeCalculator/설명문서에서 만들 수 있습니다
local p = {}
-- 생년월일로 나이 계산
function p.calculateAge(frame)
local birthDateText = frame:getParent():getArgument("출생")
if not birthDateText then
return "출생 정보 없음"
end
-- 날짜를 추출 (xxxx년 xx월 xx일 형식)
local year, month, day = birthDateText:match("(%d+)년 (%d+)월 (%d+)일")
if not year or not month or not day then
return birthDateText -- 날짜 형식이 맞지 않으면 그대로 반환
end
year, month, day = tonumber(year), tonumber(month), tonumber(day)
-- 현재 날짜
local today = os.date("*t")
local age = today.year - year
-- 생일이 지났는지 확인
if today.month < month or (today.month == month and today.day < day) then
age = age - 1
end
-- 반환 형식
return string.format("%d년 %02d월 %02d일 (%d세)", year, month, day, age)
end
return p