スポンサーリンク
※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~
TimeSpan型の宣言の仕方
TimeSpan型を宣言する際は、以下の3パターンがよく使われます。
TimeSpan 時間名 = new TimeSpan(時,分,秒);
TimeSpan 時間名 = new TimeSpan(日,時,分,秒);
TimeSpan 時間名 = new TimeSpan (日,時,分,秒,ミリ秒);
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TimeSpan02 { class Program { static void Main(string[] args) { //(時,分,秒) TimeSpan tp1 = new TimeSpan(9, 45, 30); //(日,時,分,秒) TimeSpan tp2 = new TimeSpan(1, 9, 45, 30); //(日,時,分,秒,ミリ秒) TimeSpan tp3 = new TimeSpan(1, 9, 45, 30, 200); Console.WriteLine(tp1); Console.WriteLine(tp2); Console.WriteLine(tp3); } } } |
実行結果
09:45:30
1.09:45:30
1.09:45:30.2000000
値の取り出し方
TimeSpan型で扱っている情報の一部を取り出したい場合があります。
取り出す方法は主に2つあります。
1:書式指定して、TimeSpan型をstring型に変換する。
2:TimeSpan型のプロパティを利用して、値をint型として取り出す。
どちらかの方法が優れているというわけではありません。
しいて言えば、TimeSpan型を最終的に文字として扱うなら、1番目の方法が便利です。
一方、TimeSpan型を数値として扱い計算などを行うなら、2番目に方法が便利です。
とはいえ、int型とstring型との間で型変換できるので、2つの方法の使い分けを深く考えなくてもいいでしょう。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TimeSpan03 { class Program { static void Main(string[] args) { TimeSpan tp = new TimeSpan(1, 9, 45, 30, 200); //書式指定して、TimeSpan型をstring型に変換する。 //string.Formatを使用 //「$」はC#6.0の文字列補間(String interpolation)。使いたくない場合は以下のように書きます //string day_txt = string.Format("{0:%d}",tp); string day_txt = string.Format($"{tp:%d}"); string hour_txt = string.Format($"{tp:hh}"); string minute_txt = string.Format($"{tp:mm}"); string second_txt = string.Format($"{tp:ss}"); string milisecond_txt = string.Format($"{tp:FFF}"); Console.WriteLine(day_txt + "日 " + hour_txt + ":" + minute_txt + ":" + second_txt + "." + milisecond_txt); //書式指定して、TimeSpan型をstring型に変換する。 //ToStringを使用 Console.WriteLine(tp.ToString("d'日 'h':'mm':'ss'.'FFF")); //TimeSpan型のプロパティを利用して、値をint型として取り出す。 int day = tp.Days; int hour = tp.Hours; int minute = tp.Minutes; int second = tp.Seconds; int milisecond = tp.Milliseconds; Console.WriteLine(day + "日 " + hour + ":" + minute + ":" + second + "." + milisecond); } } } |
実行結果
1日 9:45:30.200
1日 09:45:30.2
1日 9:45:30.2
「hh」(時)は書式指定子と呼ばれるものです。
この書式指定子を用いて、表示する文字列を定めています。
「Days」「Hours」「Minutes」「Seconds」「Milliseconds」は、TimeSpan側で用意されているプロパティです。
このプロパティを利用することで、対応したint型を得ることができます。
日付を扱うDateTime型で似たようなことをしたい場合は、「Day」「Hour」「Minute」「Second」「Millisecond」というプロパティを指定します。
最後の複数形の「s」が付く付かないの違いがあるので注意してください。
関連記事
~Webサイトを自分で作ってみませんか?~
Webサイトを運営するにはサーバーが必須です。
このサイトは、エックスサーバー のサーバーを使用しています。
エックスサーバーは無料で10日間お試しができます。