日付と時間を結合できますか?

解決


ウッス  2004-02-07 23:00:43  No: 6994

ちょっと変な質問なんですが・・・
決められた時間と分を本日の日付を結合したいのです。
例えば、
時=14  ←  Integer型
分=06  ←  Integer型
本日=Now ← 2004/02/07
これを、
2004/02/07 14:06:00  (TDateTime)
としたのです。
いい方法がありました、お願いします。


通りすがり  2004-02-07 23:37:51  No: 6995

こんなんでしょうか?(Nowじゃないけど)
function Hoge(Hour, Min: Integer): TDateTime;
begin
  Result := Date+EncodeTime(Hour,Min,0,0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := FormatDateTime('yyyy/mm/dd hh:nn:ss',Hoge(14,6));
end;


ウッス  2004-02-08 01:20:00  No: 6996

おぉ、「Date+EncodeTime(Hour,Min,0,0)」なんて事ができるんですね。
下記のようにしてみたのですが、
結果には2004/02/08 7:30:00  みたいになってしまいました、
どうやらNowの時間も足されているようです。

procedure TForm1.Button1Click(Sender: TObject);
var
  Hour, Min: Integer;
  aaa: TDateTime;
begin
  Hour := 15;
  Min := 13;
  aaa := Now + EncodeTime(Hour, Min, 0, 0);
  Label1.Caption := FormatDateTime('yyyy/mm/dd hh:nn:ss', aaa);
end;

end.


通りすがり  2004-02-08 02:06:59  No: 6997

> どうやらNowの時間も足されているようです。
Now ですから(^^;時刻部も足されちゃいます。

どーがこーがでも Now を使いたいなら
こんなかんじかな?
  Hour := 15;
  Min := 13;
  aaa := Int(Now) + EncodeTime(Hour, Min, 0, 0); //*
  Label1.Caption := FormatDateTime('yyyy/mm/dd hh:nn:ss', aaa);


ウッス  2004-02-08 03:02:26  No: 6998

ありがとうございました。
Int(Now)でうまくいきました^^/


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加