델파이(Delphi)로 작성한 날짜(Date) 관련 함수들입니다.
// 요일 이름 구하기
function dateDayOfWeekStr(D: TDateTime): String;
const
DayNames: array[1..7] of string = ('월', '화', '수', '목', '금', '토', '일');
begin
result := DayNames[System.DateUtils.DayOfTheWeek(D)];
end;
// 긴 요일 이름 구하기
function dateDayOfWeekStrLong(D: TDateTime): String;
begin
Result := dateDayOfWeekStr(D)+'요일';
end;
// 주어진 일자가 포함된 분기의 시작일
function dateBeginOfQuarter(D: TDateTime): TDateTime;
var
Year, Month, Day: Word;
begin
DecodeDate(D, Year, Month, Day);
Result := EncodeDate(Year, (((Month-1) div 3) * 3)+1, 1);
end;
// 주어진 일자가 포함된 분기의 마지막일
function dateEndOfQuarter(D: TDateTime): TDateTime;
begin
Result := dateBeginOfQuarter(dateBeginOfQuarter(D)+(3*31)) - 1;
end;
// 주 첫째 요일이 월요일인 해당 월의 주수 구하기
function dateWeeksInTheMonth(ADate: TDate): integer;
begin
result := WeeksBetween(StartOfTheMonth(ADate), EndOfTheMonth(ADate)) + 1;
end;
// 주 첫째 요일이 일요일인 해당 월의 주수 구하기
function dataWeeksInTheMonth(ADate: TDate): integer;
begin
result := dateSundayWeekOf(EndOfTheMonth(ADate)) - dateSundayWeekOf(StartOfTheMonth(ADate)) + 1;
end;
function dateSundayWeekOf(const AValue: TDateTime): Integer;
var
AYear, AWeekOfYear, ADayOfWeek: Word;
begin
DecodeDateWeek(AValue, AYear, AWeekOfYear, ADayOfWeek);
if ADayOfWeek = 7 then // 7은 일요일을 나타냅니다.
Inc(AWeekOfYear);
Result := AWeekOfYear;
end;
'델파이 > 프로그래밍 Tip' 카테고리의 다른 글
델파이 자주 쓰는 단축키 (0) | 2023.02.15 |
---|---|
델파이 DateUtils.pas 날짜연산함수 (0) | 2018.01.03 |
델파이 JPEG 관련 (0) | 2015.04.09 |
Install Shield 설치 파일의 권한 설정 방법 (0) | 2015.02.26 |
현재 사용자 컴퓨터의 IP Address 구하기 (0) | 2013.06.05 |