Q&A

  • 년별 주차에 관하여~
안녕들하십니까?



밖에 가을비가 오는군여~

본론으로 들어가서리..



1년에 총 52~53주가 있는데 그중 예를 들어 9월 15일은 1년중 몇번째 주가되는지를

구하고자 합니다.



우찌해야되나여~~ 함수가 있을꺼 같은데.. 알려주세요.. 급합니다..





1  COMMENTS
  • Profile
    강인규 2000.09.22 02:39
    팁란에 가심 실로 그레이트하고도 깔끔하기 이를데 없는 소스가 널려있습니다.

    검색을 활용하시기 바랍니다.

    팁란에서 날짜로 검색하시면 됩니다. 정말 좋은 함수가 널렸으니 한번씩 봐두시기 바랍니다.



    아래는 구창민님의 팁입니다.



    // 년을 기준으로 몇번째 주인지

    function TForm1.dateWeekOfYear(D: TDateTime): Integer;

    const

    t1: array[1..7] of ShortInt = ( -1, 0, 1, 2, 3, -3, -2);

    t2: array[1..7] of ShortInt = ( -4, 2, 1, 0, -1, -2, -3);

    var

    doy1, doy2: Integer;

    NewYear: TDateTime;

    begin

    NewYear := dateBeginOfYear(D);

    doy1 := dateDayofYear(D) + t1[DayOfWeek(NewYear)];

    doy2 := dateDayofYear(D) + t2[DayOfWeek(D)];

    if doy1 <= 0 then

    Result := dateWeekOfYear(NewYear-1)

    else if (doy2 >= dateDayofYear(dateEndOfYear(NewYear))) then

    Result:= 1

    else

    Result:=(doy1-1) div 7+1;

    end;



    ^-^ 즐프하세여~



    기며누 wrote:

    > 안녕들하십니까?

    >

    > 밖에 가을비가 오는군여~

    > 본론으로 들어가서리..

    >

    > 1년에 총 52~53주가 있는데 그중 예를 들어 9월 15일은 1년중 몇번째 주가되는지를

    > 구하고자 합니다.

    >

    > 우찌해야되나여~~ 함수가 있을꺼 같은데.. 알려주세요.. 급합니다..

    >

    >