2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

TimeSpan.Parseで24時以降の値を変換したい時

Posted at

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のほうが好きです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?