[Delphi] 월말,전월(익월)1일 등등 Date 날짜 구하는 방법

반응형
반응형

델파이에서 월말,전월(익월)1일 등등 Date 날짜 구하는 방법

델파이에서 가끔 사용하면서 월말,전월1일, 익월1일등 필요로 할 경우가 있어서 정리 해보겠습니다.

XE10.3에서 작업진행

 

소스내용

procedure TForm1.Button1Click(Sender: TObject);
const
  sDayNm : array[1..7] of String = ('월요일', '화요일', '수요일', '목요일', '금요일', '토요일', '일요일');
var
  wDate    : TDateTime;
  y,m,d    : word;

begin
  Try
    wDate := now; //현재일자
    DecodeDate(wDate,y,m,d);

    DayOfTheWeek(wDate); // 요일 구하기

    Label1.Caption := '현재일자 : ' + formatDateTime('yyyy-mm-dd',wDate) + ' ' + sDayNm[DayOfTheWeek(wDate)];

    edit1.text := formatDateTime('yyyy-mm-dd',IncMonth(wdate,1)-d) + ' ' + sDayNm[DayOfTheWeek(IncMonth(wdate,1)-d)]; //월말
    edit2.text := formatDateTime('yyyy-mm-dd',IncMonth(wdate,-1)-d+1) + ' ' + sDayNm[DayOfTheWeek(IncMonth(wdate,-1)-d+1)]; //전월1일
    edit3.text := formatDateTime('yyyy-mm-dd',IncMonth(wdate,1)-d+1) + ' ' + sDayNm[DayOfTheWeek(IncMonth(wdate,1)-d+1)]; //익월1일

    edit4.text := formatDateTime('yyyy-mm-dd',IncMonth(wdate,-m+1)-d+1) + ' ' + sDayNm[DayOfTheWeek(IncMonth(wdate,-m+1)-d+1)]; //당년시작일
    edit5.text := formatDateTime('yyyy-mm-dd',IncMonth(wdate,12-m+1)-d) + ' ' + sDayNm[DayOfTheWeek(IncMonth(wdate,12-m+1)-d)]; //당년말일
  except
  End;
end;

 

결과내용

결과내용

 

마무리

 간단하면서 가끔 사용하는 날짜 Date 날짜 구하는 방법으로 가끔 필요할 때 있는 것 같습니다.

반응형

댓글