C#で時間の絶対値を取得する方法【TimeSpan.Duration()メソッドの使い方】
C#で時間(TimeSpan)の絶対値を取得したい場合は、Duration()メソッドを使用します。このメソッドは、負の値を持つTimeSpanを正の値に変換して返します。
Duration()メソッドとは
TimeSpan構造体のDuration()メソッドは、現在のTimeSpanオブジェクトの絶対値を表す新しいTimeSpanを返します。たとえば「-7時間50分25秒」という負の期間も、「7時間50分25秒」に変換されます。
サンプルコード
まず、次のような負の値を持つTimeSpanを用意します。
TimeSpan ts = new TimeSpan(-7, -50, -25);
このTimeSpanの絶対値を取得するには、以下のようにDuration()メソッドを呼び出します。
TimeSpan duration = ts.Duration();
それでは、完全なコードを見てみましょう。
コード例
using System;
using System.Linq;
public class Demo {
public static void Main() {
TimeSpan ts = new TimeSpan(-7, -50, -25);
TimeSpan duration = ts.Duration();
Console.WriteLine(duration);
}
}実行結果
07:50:25
解説
上記のコードでは、コンストラクタに負の値(-7, -50, -25)を渡してTimeSpanを作成しています。通常、このまま出力すると「-07:50:25」と表示されますが、Duration()メソッドを使うことで符号が取り除かれ、「07:50:25」という絶対値が得られます。
なお、Math.Abs()メソッドは数値型の絶対値を取得するために使われますが、TimeSpanの場合は専用のDuration()メソッドを使用する点に注意してください。時間差の計算などで負の値になる可能性がある場合に、このメソッドは非常に便利です。
-
C#でドライブ名を取得する方法:DriveInfoクラスの使い方を解説
C#でドライブ名を取得するには?C#では、System.IO名前空間に含まれるDriveInfoクラスを使用することで、コンピューターに接続されたドライブの情報を簡単に取得できます。ドライブ名を表示したい場合は、まず対象となるドライブを指定してDriveInfoオブジェクトを作成しましょう。手順1:対象のドライブを指定する名前を表示したいドライブを引数に指定して、DriveInfoのインスタンスを生成します。以下の例ではCドライブを指定しています。DriveInfo info = new DriveInfo(C);手順2:Nameプロパティでドライブ名を取得するドライブ名を取得するには、Nam
-
値を指定してHashMapからキーを取得するJavaプログラムの書き方
本記事では、値を指定してHashMapから対応するキーを取得する方法を解説します。JavaのHashMapとは、Mapインターフェースをハッシュテーブルベースで実装したクラスで、キーと値のペア(エントリー)を管理するコレクションです。通常はキーから値を取り出しますが、逆に値からキーを検索したいというケースも少なくありません。以下に、今回実装する内容の具体例を示します。入力例:入力HashMap: {Java=8, Scala=5, Python=15} 検索する値: 8期待される出力:値 8 に対応するキー: Javaアルゴリズムステップ1 - 処理を開始する ステップ2 - 必要な変数を宣言