kor-lunar
Version:
한국 음력 변환 유틸 / Korean lunar calendar converter
86 lines (85 loc) • 3.5 kB
TypeScript
export declare const BASE_YEAR = 1890;
export declare const BASE_MONTH = 1;
export declare const BASE_DAY = 1;
export declare const BASE_VALUE: number;
export declare const MAX_YEAR = 2050;
export declare const MAX_MONTH = 11;
export declare const MAX_DAY = 18;
export declare const MAX_VALUE: number;
/**
* 해당 월 (평달)의 일 수를 반환합니다.
* @param year 1890년 ~ 2050년
* @param month 1월 ~ 12월
* @returns 월의 일 수 (29 또는 30)
*/
export declare const getMonthDays: (year: number, month: number) => number;
/**
* 해당 연도의 윤달을 반환합니다.
* @param year 1890년 ~ 2050년
* @returns 윤달 월 (1월 ~ 12월), 없으면 0
*/
export declare const getLeapMonth: (year: number) => number;
/**
* 해당 연도에 윤달이 있는지를 반환합니다.
* @param year 1890년 ~ 2050년
* @return 윤달이 있으면 true
*/
export declare const hasLeapMonth: (year: number) => boolean;
/**
* 해당 월이 윤달인지를 반환합니다.
* @param year 1890년 ~ 2050년
* @param month 1월 ~ 12월
* @returns 윤달이면 true
*/
export declare const isLeapMonth: (year: number, month: number) => boolean;
/**
* 해당 월 (윤달)의 일 수를 반환합니다.
* @param year 1890년 ~ 2050년
* @param month 1월 ~ 12월
* @returns 윤달의 일 수 (29 또는 30), 윤달이 아니면 0
*/
export declare const getLeapMonthDays: (year: number, month: number) => number;
/**
* 해당 연도의 총 일 수를 반환합니다.
* @param year 1890년 ~ 2050년
* @return 해당 연도의 총 일 수
*/
export declare const getYearDays: (year: number) => number;
/**
* 1890년부터 해당 연도 전까지의 누적 일 수를 반환합니다.
* @param year 1890년 ~ 2050년
* @return 해당 연도 전까지의 누적 일 수
*/
export declare const getTotalDaysBeforeYear: (year: number) => number;
/**
* 해당 연도 내에서 해당 월 (및 윤달 포함) 전까지의 누적 일 수를 반환합니다.
* @param year 1890년 ~ 2050년
* @param month 1월 ~ 12월
* @param isLeapMonth 대상이 윤달이면 true
* @returns 해당 연도 내, 해당 월 전까지의 누적 일 수
*/
export declare const getTotalDaysBeforeMonth: (year: number, month: number, isLeapMonth: boolean) => number;
/**
* 1890년부터 해당 연도, 월, 일 (및 윤달 포함) 까지의 누적 일 수를 반환합니다.
* @param year 1890년 ~ 2050년
* @param month 1월 ~ 12월
* @param day 일자
* @param isLeapMonth 대상이 윤달이면 true
* @returns 총 누적 일 수
*/
export declare const getTotalDays: (year: number, month: number, day: number, isLeapMonth: boolean) => number;
export declare const getSecha: (year: number) => string;
export declare const getWolgeon: (year: number, month: number) => string;
export declare const getIljinByJulianDay: (julianDay: number) => string;
export declare const getIljin: (year: number, month: number, day: number, isLeapMonth: boolean) => string;
/**
* 날짜가 지원하는 범위 내에 있는지를 반환합니다.
* 날짜의 유효성 (존재 여부)은 검사하지 않습니다.
* @returns 날짜가 범위 내에 있으면 true
*/
export declare const isDateInRange: (year: number, month: number, day: number) => boolean;
/**
* 실제로 존재하는 유효한 날짜인지를 반환합니다.
* @returns 유효한 날짜이면 true
*/
export declare const isValidDate: (year: number, month: number, day: number, isLeapMonth: boolean) => boolean;