Q&A

  • 두날짜시간의 차이를 구해서 시간으로 나타내려면
2000-02-02 02:50:00과 2000-03-03 14:10:00의 차이를 구한다음 이것을 시간으로 표시하고 싶은데요. 바로 빼니까 1900-XX 이런 식으로 나오는군요.

날짜따로 시간따로 계산해 주어야 하는지, 한방에 계산하는 방법이 있는지요?

3  COMMENTS
  • Profile
    근수 2000.03.25 07:16
    박성훈 wrote:

    > 2000-02-02 02:50:00과 2000-03-03 14:10:00의 차이를 구한다음 이것을 시간으로 표시하고 싶은데요. 바로 빼니까 1900-XX 이런 식으로 나오는군요.

    > 날짜따로 시간따로 계산해 주어야 하는지, 한방에 계산하는 방법이 있는지요?



    음...^^

    RxLibrary 안에 시간계산을 해주는 게 있을겁니다... 그걸 쓰시면 좋겠군여..

    코드도 아주 깔끔하구.. 아님 Rx 라이브러리는 무료고, 소스까지 제공하니까 필요한 소스부분만 빼내 써두 되구여...

  • Profile
    최용일 2000.03.14 00:58
    TimeStamp를 이용하시면 간단히 구하실 수 있습니다.



    var

    Time1, Time2, pTime: TTimeStamp;

    begin

    Time1 := DateTimeToTimeStamp(StrToDateTime('2000-02-02 02:50:00'));

    Time2 := DateTimeToTimeStamp(StrToDateTime('2000-02-03 02:49:59'));

    pTime.Time := Time2.Time - Time1.Time;

    pTime.Date := Time2.Date - Time1.Date;

    if pTime.Time < 0 then

    begin

    Dec(pTime.Date);

    pTime.Time := MSecsPerDay + pTime.Time;

    end;

    Result := pTime.Date * MSecsPerDay + pTime.Time

    end;

    결과값은 밀리세컨드(mSec)형태로 반환됩니다.



    박성훈 wrote:

    > 2000-02-02 02:50:00과 2000-03-03 14:10:00의 차이를 구한다음 이것을 시간으로 표시하고 싶은데요. 바로 빼니까 1900-XX 이런 식으로 나오는군요.

    > 날짜따로 시간따로 계산해 주어야 하는지, 한방에 계산하는 방법이 있는지요?

  • Profile
    박성훈 2000.03.14 00:23
    박성훈 wrote:

    > 2000-02-02 02:50:00과 2000-03-03 14:10:00의 차이를 구한다음 이것을 시간으로 표시하고 싶은데요. 바로 빼니까 1900-XX 이런 식으로 나오는군요.

    > 날짜따로 시간따로 계산해 주어야 하는지, 한방에 계산하는 방법이 있는지요?



    궁여지책 끝에 함수를 하나 만들었는데 좀 엉성하군요.



    function BetweenDaysToTimeStr(D1,D2:TDateTime):String;

    var

    RD,RT:TDateTime;

    yy,mm,dd,hh,mi,ss,ms:word;

    begin

    DecodeDate(D1-D2,yy,mm,dd);

    DecodeTime(D1-D2,hh,mi,ss,ms);

    RD:=EncodeDate(yy,mm,dd);

    RT:=EncodeTime(hh,mi,ss,ms);

    dd:= Trunc(D1,D2);

    if FormatDateTime('hh:mm:ss',D1)>FormatDateTime('hh:mm:ss',D2) then

    dd:= dd-1;

    hh:= (dd*24)+hh;

    Result:= Format('%2.2d',[hh])+'시간'+Format('%2.2d',[mi])+'분'+Format('%2.2d',[ss])+'초';

    end;



    • 왕초짜
    • 2000.03.13 23:26
    • 8 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.03.14 00:17
      왕초짜 wrote: > 안녕하세요... > 궁금한게 있어서 질문드립니다. > 에디트박스 3개로 년, 월, 일을 입...
    • 왕초짜
      2000.03.14 01:03
      MyDate:=EncodeDate(strtoint(ed1.Text),strtoint(ed2.Text ),strtoint(ed3.Text) ); 요렇게 하니까 년...
    • parkisu
      2000.03.14 09:46
      왕초짜 wrote: > MyDate:=EncodeDate(strtoint(ed1.Text),strtoint(ed2.Text ),strtoint(ed3.Text) ); > ...
    • 박성훈
      2000.03.14 00:16
      왕초짜 wrote: > 안녕하세요... > 궁금한게 있어서 질문드립니다. > 에디트박스 3개로 년, 월, 일을 입...
    • 최용일
      2000.03.14 00:13
      다음과 같이 FormatDateTime함수를 이용하세요 FormatDateTime('yyyymmdd', StrToDate(Box1.Text+'-'+...
    • 왕초짜
      2000.03.14 00:57
      최용일 wrote: > 다음과 같이 FormatDateTime함수를 이용하세요 > > FormatDateTime('yyyymmdd', Str...
    • 최용일
      2000.03.14 01:17
      당연히 에러가 날수밖에 없습니다. FormatDateTime은 TDate형을 돌려주는게 아니라 날짜의 문자열을 돌려...
    • • • •
    • 젠키
      2000.03.13 23:42
      철이 wrote: > delphi에서 엑세스 디비를 연결하여 사용하였습니다.... > 프로그램이 실행되거나, 디비가...
    • 철이
      2000.03.14 18:34
      젠키 wrote: > 철이 wrote: > > delphi에서 엑세스 디비를 연결하여 사용하였습니다.... > > 프로그램이...
    • 박성훈
    • 2000.03.13 22:44
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 근수
      2000.03.25 07:16
      박성훈 wrote: > 2000-02-02 02:50:00과 2000-03-03 14:10:00의 차이를 구한다음 이것을 시간으로 표시하...
    • 최용일
      2000.03.14 00:58
      TimeStamp를 이용하시면 간단히 구하실 수 있습니다. var Time1, Time2, pTime: TTimeStamp; begin ...
    • 박성훈
      2000.03.14 00:23
      박성훈 wrote: > 2000-02-02 02:50:00과 2000-03-03 14:10:00의 차이를 구한다음 이것을 시간으로 표시하...
    • 송정환
    • 2000.03.13 22:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.13 23:59
      텍스트(.txt)파일로 저장하는 방법처럼 하시면 됩니다. 단지 그 사이사이에 HTML태그를 넣어서 저장하시...
    • 한승수
    • 2000.03.13 22:16
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 장은석
      2000.03.14 15:57
      한승수 wrote: > > 두개 이상 실행시키는 것을 막기 위해 > > 제가 짠 프로그램이 이미 실행중이...
    • blueSky
      2000.03.13 23:55
      한승수 wrote: > > 두개 이상 실행시키는 것을 막기 위해 > > 제가 짠 프로그램이 이미 실행중이...
    • toto1052
    • 2000.03.13 22:02
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 착한악마
      2000.03.14 07:24
      리포트 옵션에 있는 기능이거든요... 리포트 세팅에서 컬럼수를 조정해 보세요....그럼 될겁니다...( 코딩...
    • 하얀까마귀
      2000.03.13 22:19
      안녕하세요 하얀까마귀 입니다... 불행히도 없어요....(
    • 종이학
      2000.03.13 21:00
      Go100 wrote: > 어떤 폼에서 조회를 하면서 DbGrid 숫자 필드에 > (1,000,000,000) 이처럼 3자리에 컴마...
    • 하얀까마귀
      2000.03.13 20:55
      안녕하세요 하얀까마귀 입니다. 처음 질문은 그냥 불러 올때 소트를 하시구요... order by 하시면 됩니...
    • blueSky
      2000.03.13 19:11
      김경한 wrote: > > 급합니다. > > 시간이 만약 16:45 초라면,, (16 분 45 초) > > 에디트 박스...
    • 김경한
      2000.03.13 19:25
      blueSky wrote: > 김경한 wrote: > > > > 급합니다. > > > > 시간이 만약 16:45 초라면,, (16 분 ...
    • 강인규
      2000.03.13 21:59
      위의 분이 답변주신것이 맞습니다. 초에서 'ss'를 해주면 01초가 되지요. 아마도 문자형으로 디비에 저...
    • 박성훈
    • 2000.03.13 18:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.13 20:41
      저의 답변을 이해를 못하신것 같군요... 저는 OS(explorer.exe)차원에서 이야기한 것인데... 그럼 두번째 ...
    • 박상길
    • 2000.03.13 18:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.03.14 23:54
      박상길 wrote: > Windows CE 에서 델파이 지원이 가능한지 알고 싶습니다....... 안녕하세요 하얀까마...
    • 안대규
    • 2000.03.13 18:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      2000.03.13 18:56
      안대규 wrote: > 안녕하세요~~~ > 궁금중이 있어 이렇게 글을 올립니다. > 델파이에서 제공하는 vcl디렉...
    • 초보
    • 2000.03.13 17:30
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 장은석
      2000.03.14 10:15
      초보 wrote: > 레지스트리의 rootkey: HKEY_LOCAL_MACHINE 에서 > 'SOFTWAREMicrosoftWindowsCurrentVers...
    • 초보
      2000.03.15 01:08
      제 질문을 바로 이해해 주시고 답변 주시니 고마습니다. 덕분에 성공했습니다.
    • 최용일
      2000.03.13 21:22
      SetWindowHookEx와 같은 API함수를 이용하여 시스템전체의 메세지나 이벤트를 장악하시면 됩니다. 쉽게 말...
    • 조규춘
      2000.03.13 21:16
      고수는 아니지만 그냥 한번 올려 봅니다. 아래의 소스는 ctrl + alt + del을 눌렀을때 내가 만든 프로그...
    • 최용일
      2000.03.13 23:47
      레지스트리에 핫키를 등록하시어 사용하시면 됩니다. 그럼 폼이 활성화되었건 비활성화 되었건간에 상관없...
    • 때밀이
    • 2000.03.13 10:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 종이학
      2000.03.13 20:56
      때밀이 wrote: > test1과 test2에서 다음과 같이 비교하려 합니다. > > select a.* from test1 a, > ...