C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のTimeSpan.FromHours()メソッドの使い方を徹底解説

C#のTimeSpan.FromHours()メソッドは、指定した時間数を表すTimeSpanオブジェクトを返します。引数に渡す値は、最も近いミリ秒単位まで正確に指定することが可能です。

構文

TimeSpan.FromHours()メソッドの構文は以下の通りです。

public static TimeSpan FromHours (double val);

パラメータvalには、時間数(ミリ秒精度)をdouble型で指定します。

使用例1

まず、基本的な使用例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        TimeSpan span1 = TimeSpan.FromDays(0.000323456);
        TimeSpan span2 = new TimeSpan(-2, 05, 10);
        TimeSpan span3 = TimeSpan.FromHours(5);
        Console.WriteLine("TimeSpan1 = "+span1);
        Console.WriteLine("TimeSpan2 = "+span2);
        Console.WriteLine("TimeSpan3 = "+span3);
        Console.WriteLine("Result (Comparison of span1 and span2) = "+TimeSpan.Compare(span1, span2));
        Console.WriteLine("Result (Comparison of span2 and span3) = "+TimeSpan.Compare(span2, span3));
    }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

TimeSpan1 = 00:00:27.9470000
TimeSpan2 = -01:54:50
TimeSpan3 = 05:00:00
Result (Comparison of span1 and span2) = 1
Result (Comparison of span2 and span3) = -1

使用例2

続いて、別の例を確認してみましょう。

using System;
public class Demo {
    public static void Main(){
        TimeSpan span1 = TimeSpan.FromDays(15);
        TimeSpan span2 = new TimeSpan(5, 15, 30);
        TimeSpan span3 = TimeSpan.FromHours(5);
        Console.WriteLine("TimeSpan1 = "+span1);
        Console.WriteLine("TimeSpan2 = "+span2);
        Console.WriteLine("TimeSpan3 = "+span3);
        Console.WriteLine("Result (Comparison of span1 and span2) = "+TimeSpan.Compare(span1, span2));
        Console.WriteLine("Result (Comparison of span2 and span3) = "+TimeSpan.Compare(span2, span3));
        Console.WriteLine("Result (Comparison of span1 and span3) = "+TimeSpan.Compare(span1, span3));
    }
}

出力結果

このコードを実行すると、以下の出力が得られます。

TimeSpan1 = 15.00:00:00
TimeSpan2 = 05:15:30
TimeSpan3 = 05:00:00
Result (Comparison of span1 and span2) = 1
Result (Comparison of span2 and span3) = 1
Result (Comparison of span1 and span3) = 1

まとめ

TimeSpan.FromHours()メソッドを使うことで、時間数から簡単にTimeSpanオブジェクトを生成できます。また、TimeSpan.Compare()メソッドと組み合わせれば、複数の時間間隔の大小比較も容易に行えます。戻り値は、第1引数が大きい場合は「1」、等しい場合は「0」、小さい場合は「-1」となる点を覚えておくと便利です。

  1. C#のCompareTo()メソッドの使い方を解説

    C#では、2つの値を比較する際にCompareTo()メソッドを使用します。このメソッドは、呼び出し元の値と引数で渡した値を比較し、その大小関係を整数値として返します。CompareTo()メソッドの戻り値CompareTo()メソッドの戻り値は以下の3パターンです。0 = 両方の値が等しい場合1 = 呼び出し元の値が引数の値より大きい場合(第2の数値が小さい)-1 = 呼び出し元の値が引数の値より小さい場合(第1の数値が小さい)CompareTo()メソッドの実装例それでは、C#でCompareTo()メソッドを実装するサンプルコードを見てみましょう。ここでは、同じ値を持つ2つのint型変数

  2. RubyのArray#zipメソッド徹底解説!2つの配列をスマートに結合する方法

    2つの配列を要素ごとに比較して、その違いを見つけたいと思ったことはありませんか? あるいは、各インデックスごとに最大の数値を求めたい、キーのリストと値のリストを組み合わせてハッシュを作りたい――そんな場面にも出会うことがあるでしょう。 …これを「面倒な方法」で実装すると、次のようなコードになります。 例:冗長な書き方 a = [1,2,3,4,5] b = [1,2,3,6,8] c = a.map.with_index { |_, idx| [a[idx], b[idx]] } # [[1, 1], [2, 2], [3, 3], [4, 6], [5, 8]] 確かに動作はしますが