Try
ShowMessage(formatdatetime('HH:nn',Time2-Time1))
this will give 00:30 - regardless of the system locale etc
Chris.
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, June 29, 2005 5:05 PM
Subject: RE: [delphi-en] differences between 2 time value
>
> Hi soonhuat ong,
>
> As stated by others, 12:30:00 AM is correct. The difference between 14:30
> and 14:00 is 30 minutes. When you format 30 minutes with the TimeToStr
> function, Delphi uses the LongTimeFormat global variable to format the
> time. In most systems, the LongTimeFormat is "h:mm:ss AMPM". So, 30
> minutes from midnight is "12:30:00 AM". When you want is to show the time
> in military format. Here are two ways for you to get "00:30" instead of
> "12:30:00 AM":
>
> 1. Change LongTimeFormat to 'hh:mm'. This will affect all time formatting
> in your program.
>
> procedure TForm1.Button1Click(Sender: TObject);
> var Time1, Time2 : TTime;
> begin
> Time1 := strToTime('14:00');
> Time2 := strToTime('14:30');
> LongTimeFormat:= 'hh:mm';
> ShowMessage(TImeToStr(Time2 - TIme1)); {This will show "00:30"}
> ShowMessage(TImeToStr(Time1 - Time2)); {This will show "00:30"}
> end;
>
> 2. Use FormatDateTime instead of TimeToStr.
>
> procedure TForm1.Button1Click(Sender: TObject);
> var Time1, Time2 : TTime;
> begin
> Time1 := strToTime('14:00');
> Time2 := strToTime('14:30');
> ShowMessage(FormatDateTime('hh:mm', (Time2 - TIme1))); {This will
> show "00:30"}
> ShowMessage(FormatDateTime('hh:mm', (Time1 - TIme2))); {This will
> show "00:30"}
> end;
>
> Hope this helps
> Raymond
>
>
> soonhuat ong
> <[EMAIL PROTECTED]
> .com>
> Sent by:
> [EMAIL PROTECTED]
> oups.com
>
>
> 06/29/2005 02:45
> AM
>
>
>
> Sorry i mean Time3 - Time4. Anyway, TIme4- Time3 will generate the same
> result.
> I'll give my sample source code as following:
>
> procedure TForm1.Button1Click(Sender: TObject);
> var Time1, Time2 : TTime;
> begin
> Time1 := strToTime('14:00');
> Time2 := strToTime('14:30');
> ShowMessage(TImeToStr(Time2 - TIme1));
> ShowMessage(TImeToStr(Time1 - Time2));
> end;
>
> Both of the MessageBox give me the message : 12:30:00 AM .. All i want is
> 00:30, means 30 minutes differences
>
>
> Vahan Yoghoudjian <[EMAIL PROTECTED]> wrote:
> Do you mean (Time4-Time3) or (Time3-Time4)?
>
> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED]
Behalf
> Of soonhuat ong
> Sent: Wednesday, June 29, 2005 7:52 AM
> To: [email protected]
> Subject: [delphi-en] differences between 2 time value
>
>
>
> How do i calculate the differences between 2 time ?
> Let's say:
> Time1 = 13:00
> Time2 = 12:00
>
> The difference is 1:00 hour
>
> I try (Time1 - Time2), and it works fine..
> But when the total difference less than 1 hour, it give me difference
> result:
> For eg:
> Time3 = 14:30
> TIme4 = 14:00
>
> (Time4 - Time3) will give me 12:30 .. what i want is 00:30. ANy idea ??
>
>
> -----------------------------------------------------
> Home page: http://groups.yahoo.com/group/delphi-en/
> To unsubscribe: [EMAIL PROTECTED]
> Yahoo! Groups Links
>
>
>
>
>
>
>
-----------------------------------------------------
Home page: http://groups.yahoo.com/group/delphi-en/
To unsubscribe: [EMAIL PROTECTED]
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/delphi-en/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/