人気ブログランキング |
Delphi XE Pro - UnixTime を計算して経過時間を表示
Delphi XE Pro - Unixtime を 年月日 時分秒に変換

uses に DateUtils が必須です。
procedure TForm1.UnixtimeButton2Click(Sender: TObject);
var
UnixtimeStamp, StartTime, ElapsedTime : UInt64;

day, Hour, Minute, Second: Integer;
AdayOver : Integer; // 24 時間以上用

daystr : string;
TimeString : string;
begin
UnixtimeStamp := 1372995141;
TimeString := FormatDateTime('yyyy/mm/dd hh:mm:ss',UnixToDateTime(UnixtimeStamp));

ShowMessage(TimeString);


// 放送開始からの経過時間
StartTime := 1372485140;

ElapsedTime := UnixtimeStamp - StartTime; // 経過時間(秒数で格納)
ShowMessage(IntToStr(ElapsedTime) + '秒');

Hour := ElapsedTime div 60 div 60 ;

if Hour > 24 then
begin
day := Hour div 24;
AdayOver := Hour mod 24;
daystr := IntToStr(day) + '日目 ' + Format('%.2d',[AdayOver])+ '時間';
end
else
begin
daystr := IntToStr(Hour)+ '時間';
end;

Minute := ElapsedTime div 60 - Hour * 60 ;

Second := ElapsedTime - (Hour * 60 * 60 + Minute * 60) ;

TimeString := daystr + Format('%.2d',[Minute]) + '分' + Format('%.2d',[Second] ) + '秒';

ShowMessage(TimeString);

user_id_Memo.Text := TimeString;
end;


510001秒 が 
5日目 21時間40分01秒
と表示されます。

by arigayas | 2013-06-30 00:29 | Delphi Programming | Trackback
トラックバックURL : https://arigayas.exblog.jp/tb/20659484
トラックバックする(会員専用) [ヘルプ]
<< Delphi XE Pro -... Delphi XE Pro -... >>