Q&A

  • 날짜계산을 하고싶습니다. 도와주세요.


date1:=datetostr(DateTimePicker1.DateTime);

date2:=datetostr(datetimepicker2.datetime);

date1:=datetostr(strtodate(date1)-strtodate(date2));

edit1.text:=date1;



위의 코딩으로 컴파해서 실행하면 이상한 결과가 나타납니다. 제가 원하는 답은

예를 들어 1999-5-2 - 1999-3-2 = 61 이라는 수치값입니다.

지금도 계속 책을 뒤적이며 찾고 있는데 해결의 실마리가 보이지 않습니다.

도움을 부탁드립니다.



4  COMMENTS
  • Profile
    박성훈 2000.02.18 01:38
    허광용 wrote:

    >

    > date1:=datetostr(DateTimePicker1.DateTime);

    > date2:=datetostr(datetimepicker2.datetime);

    > date1:=datetostr(strtodate(date1)-strtodate(date2));

    > edit1.text:=date1;

    >

    > 위의 코딩으로 컴파해서 실행하면 이상한 결과가 나타납니다. 제가 원하는 답은

    > 예를 들어 1999-5-2 - 1999-3-2 = 61 이라는 수치값입니다.

    > 지금도 계속 책을 뒤적이며 찾고 있는데 해결의 실마리가 보이지 않습니다.

    > 도움을 부탁드립니다.

    >



    두 날짜간의 일수를 구하는 거라면 Rx에 들어있는 DateUtil.pas에서 DaysBetween함수를

    참고해 보세요. 아마 위의 날짜를 빼면 62가 나올겁니다. 시작날짜를 포함해서 계산해

    주는 것 같더군요. Rx Library는 자료실에도 있는 것으로 압니다.





  • Profile
    cjseok 2000.02.17 23:32
    에러가 나지 않고 이상한값이 나온다면 시간에서 시간을 빼서 그런것같군요



    Edit1.Text := dateToStr(DateTimePicker1.Date - DateTimePicker2.Date);

    이렇게 해보시고 안되면

    저도 모릅니다.

    도움이 되었으면 합니다





    허광용 wrote:

    >

    > date1:=datetostr(DateTimePicker1.DateTime);

    > date2:=datetostr(datetimepicker2.datetime);

    > date1:=datetostr(strtodate(date1)-strtodate(date2));

    > edit1.text:=date1;

    >

    > 위의 코딩으로 컴파해서 실행하면 이상한 결과가 나타납니다. 제가 원하는 답은

    > 예를 들어 1999-5-2 - 1999-3-2 = 61 이라는 수치값입니다.

    > 지금도 계속 책을 뒤적이며 찾고 있는데 해결의 실마리가 보이지 않습니다.

    > 도움을 부탁드립니다.

    >

  • Profile
    홍성철 2000.02.17 22:19
    허광용 wrote:

    >

    > date1:=datetostr(DateTimePicker1.DateTime);

    > date2:=datetostr(datetimepicker2.datetime);

    > date1:=datetostr(strtodate(date1)-strtodate(date2));

    > edit1.text:=date1;

    >

    > 위의 코딩으로 컴파해서 실행하면 이상한 결과가 나타납니다. 제가 원하는 답은

    > 예를 들어 1999-5-2 - 1999-3-2 = 61 이라는 수치값입니다.

    > 지금도 계속 책을 뒤적이며 찾고 있는데 해결의 실마리가 보이지 않습니다.

    > 도움을 부탁드립니다.

    >



    eidt1.Text := DateToStr(DateTimepicker1.Date-DateTimepicker2.Date);

  • Profile
    홍성철 2000.02.18 00:39
    edit1.Text := IntToStr(Round(DateTimePicker1.Date-DateTimePicker2.Date));

    로 해보세요