|
.NET TIPS 秒数を「hh:mm:ss」形式の文字列にするには?デジタルアドバンテージ 遠藤 孝信2005/07/22 |
![]() |
|
|
|
計算などにより得られた秒数を、ユーザーに分かりやすい「hh:mm:ss」の形式の文字列にするには、TimeSpan構造体(System名前空間)のインスタンスを作成し、そのToStringメソッドを呼び出せばよい。TimeSpan構造体は時間間隔を表すためのものである。
TimeSpan構造体には、次のような整数型のパラメータを取るコンストラクタが用意されている。
TimeSpan(時間数、分数、秒数)
このコンストラクタを利用し、例えば次のようにして1000秒を表すTimeSpanオブジェクトを作成することができる。
TimeSpan ts = new TimeSpan(0, 0, 1000);
TimeSpan構造体のToStringメソッドは、その時間間隔から「hh:mm:ss」の形式の文字列を出力する(区切り文字の「:」は変更できない)。
string hms = ts.ToString(); // hmsの内容「00:16:40」
ただし時間間隔が24時間を超えるような場合には、「hh:mm:ss」の「hh」の部分が「日数.hh」の形式となるので注意が必要だ。これについては以下のサンプル・プログラムの出力をご覧いただきたい。
|
|
| 秒数を「hh:mm:ss」の形式で表示するC#のサンプル・プログラム(timeformat.cs) | |
|
|
| 秒数を「hh:mm:ss」の形式で表示するVB.NETのサンプル・プログラム(timeformat.vb) | |
サンプル・プログラムの最後では、ミリ秒数からTimeSpanオブジェクトを作成し、ToStringメソッドにより文字列化した例を示している。Environmentクラス(System名前空間)のTickCountプロパティは、システム起動後の経過時間をミリ秒単位で取得するためのものだ。
ミリ秒数からTimeSpanオブジェクトを作成するには、次のような5つの整数型のパラメータを取るコンストラクタを利用する。
TimeSpan(日数、時間数、分数、秒数、ミリ秒数)
サンプル・プログラムの出力例にもあるように、1秒未満の秒数を含んだTimeSpanオブジェクトをToStringメソッドにより文字列化する場合には、秒の部分が小数点第7位まで表示される。
なお、本稿ではToStringメソッドによる簡易な文字列化の方法について述べたが、TimeSpan構造体には日数や秒数などの個々の値を取り出すためのプロパティが一通りそろっているので、それらを利用してより複雑な書式の文字列を作り出すのも難しくはない。![]()
| カテゴリ:クラス・ライブラリ 処理対象:日付と時刻 使用ライブラリ:TimeSpan構造体(System名前空間) 使用ライブラリ:Environmentクラス(System名前空間) |
|
||||||||||||||||||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


