TimeSpan.Parseの使い方
TimeSpan.Parseメソッドはstring型で表した時間の値をTimeSpan型に変換してくれる便利なメソッドです。
このTimeSpan.Parseでは以下の通り値を指定できます。(一部省略)
[d.]hh:mm[:ss]
[ ]内は省略可能
要素 | 説明 |
---|---|
d | 0から10675199までの日数 |
hh | 0から23までの時間 |
mm | 0から59までの分数 |
ss | 0から59までの秒数 |
24:00以降はParseできない
この説明の通り、要素hhが23を超えてしまうと例外が発生してしまい、TimeSpan.Parseが使えないのです。(知らなかった)
// 例外発生
TimeSpan ts = TimeSpan.Parse("30:00");
じゃあどうする
解決策は2つ考えられます。
解決策1: 時を24で割って日にちにする
日数も指定できるので、時間を24で割って日にちを割り出してしまうという方法。
TimeSpan ts = TimeSpan.Parse("1.6:00");
解決策2: TimeSpanインスタンス化するときに初期化してしまう
TimeSpan ts = new TimeSpan(30, 0, 0);
私は解決策2のほうが好きです。