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

C#でTimeSpanをhh:mm:ss形式にフォーマットする方法


C#では、TimeSpan構造体の値を「hh:mm:ss」形式で簡単にフォーマットして表示することができます。カスタム書式指定子を使えば、時間・分・秒を自由な形式で出力可能です。

TimeSpanの設定

まず、フォーマット対象となるTimeSpanオブジェクトを作成します。

TimeSpan ts = new TimeSpan(9, 15, 30);

この例では、9時間15分30秒を表すTimeSpanを作成しています。

TimeSpanをフォーマットするには

TimeSpanを「hh:mm:ss」形式でフォーマットするには、次のような書式指定文字列を使用します。

{0:hh\:mm\:ss}

ここで重要なのは、コロン(:)の前にエスケープ文字(バックスラッシュ)を付ける点です。TimeSpanのカスタム書式指定子において、コロンはそのままではリテラル文字として扱われないため、明示的にエスケープする必要があります。

サンプルコード

実際の実装例は以下の通りです。

Example

using System;
using System.Linq;

public class Demo {
    public static void Main() {
        TimeSpan ts = new TimeSpan(9, 15, 30);
        Console.WriteLine("{0:hh\\:mm\\:ss}", ts);
    }
}

Output

09:15:30

補足:ToStringメソッドを使う方法

Console.WriteLine以外にも、ToStringメソッドに同じ書式指定子を渡すことで、同様の結果を得られます。

string result = ts.ToString(@"hh\:mm\:ss");
Console.WriteLine(result); // 出力: 09:15:30

この方法なら、コンソール出力だけでなく、UIへの表示やログファイルへの記録など、さまざまな場面でフォーマット済みの文字列を活用できます。


  1. SSDをフォーマットする方法|Windows 10・macOSの手順をわかりやすく解説

    知っておくべきポイント Windowsの場合:「ディスクの管理」を開き、対象のSSDを右クリックして「フォーマット」を選択します。 macOSの場合:「ディスクユーティリティ」を開き、SSDを選択して「消去」をクリックします。 ドライブがNTFS形式でフォーマットされている場合、Macでは読み取りは可能ですが、再フォーマットしない限り書き込みはできません。 この記事では、Windows 10およびmacOSでSSDをフォーマットする具体的な手順を、初心者にもわかりやすく解説します。 Windows 10でSSDをフォーマットする方法 Windows 10でSSDをフォーマットする方法は主

  2. 【C#入門】TimeSpan.Fromメソッド(FromDays・FromHours・FromMinutes)の使い方

    C#には、時間間隔を表すTimeSpan構造体が用意されており、その生成に便利なのが「TimeSpan.From」系のメソッドです。代表的なものとして、FromDays、FromHours、FromMinutesなどがあり、それぞれ日数・時間数・分数からTimeSpanオブジェクトを作成できます。 TimeSpan.From系メソッドの基本 各メソッドは、引数に指定した数値をもとにTimeSpanインスタンスを返します。以下のように記述します。 // 1日を表すTimeSpan TimeSpan t1 = TimeSpan.FromDays(1); // 1時間を表すTimeSpan Tim