■No55350 (渋木宏明 さん) に返信
>>整数を入力したら0時0分からその整数秒進んだ時刻を文字列として返す関数を作るとしたら
>>どんなソースになるのでしょうか?
> DateTime.AddSeconds(3600).ToString()
> DateTime.AddSeconds(5436).ToString()
地域設定にもよりますが、ToString() を使うと、
"0001/01/01 1:00:00"
"2010/11/27 1:00:00"
といった表記になってしまうかと思います。
DateTime 型を使うなら、
s = DateTime.MinValue.AddSeconds(3600).ToLongTimeString() '1:00:00
s = DateTime.MinValue.AddSeconds(5436).ToLongTimeString() '1:30:36
あるいは、
s = DateTime.MinValue.AddSeconds(3600).ToString("H:m:s") '1:0:0
s = DateTime.MinValue.AddSeconds(5436).ToString("H:m:s") '1:30:36
あるいは、
s = DateTime.MinValue.AddSeconds(3600).ToString("H:mm:ss") '1:00:00
s = DateTime.MinValue.AddSeconds(5436).ToString("H:mm:ss") '1:30:36
ではないでしょうか?
なお、時刻ではなく時間なら、
s = TimeSpan.FromSeconds(3600).ToString() '01:00:00
s = TimeSpan.FromSeconds(5436).ToString() '01:30:36
ですね。
TimeSpan を使った場合には、24時間以上の値(たとえば 90000 秒後)を
指定した場合の扱いが異なります。
>>> (案1) DateTime 型/TimeSpan 型を用いる。