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

C#の長い時刻(T)書式指定子の使い方をわかりやすく解説

C#の「T」書式指定子とは

C#における標準の日時書式指定子「T」は、長い時刻(Long Time)パターンでDateTimeオブジェクトを文字列に変換するための指定子です。

この指定子が実際に使用するカスタム書式文字列は、対象カルチャ(CultureInfo)に対応する DateTimeFormatInfo.LongTimePattern プロパティによって定義されます。たとえば、インバリアントカルチャでは次のカスタム書式文字列に相当します。

HH:mm:ss

サンプルコード

以下の例では、「T」書式指定子を使って、日時を英語(米国)カルチャの長い時刻形式で表示しています。

using System;
using System.Globalization;

class Demo {
    static void Main() {
        DateTime date = new DateTime(2018, 9, 9, 8, 15, 30);
        Console.WriteLine(date.ToString("T", CultureInfo.CreateSpecificCulture("en-us")));
    }
}

実行結果

8:15:30 AM

ポイント解説

出力結果は「8:15:30 AM」となっています。これは、en-USカルチャの LongTimePattern が「h:mm:ss tt」と定義されているためで、午前・午後(AM/PM)を含む12時間表記で表示されるからです。

つまり、「T」指定子の出力形式はカルチャに依存します。たとえば、日本語(ja-JP)カルチャでは「H:mm:ss」が使われるため、同じコードでも次のような出力になります。

8:15:30

このように、「T」書式指定子を利用すれば、ユーザーの地域設定に応じた自然な時刻表示を簡単に実現できます。カルチャを明示的に指定せずに現在のスレッドのカルチャ設定を使いたい場合は、date.ToString("T") のように記述することも可能です。

  1. JavaScriptでDateオブジェクト(文字列データ)に時間を追加する方法

    JavaScriptで日付・時刻のデータを扱う際、「現在の時刻から2時間後」のように指定した時間を加算したいケースはよくあります。本記事では、文字列から作成したDateオブジェクトに対して、setHours()とgetHours()を組み合わせて時間を追加する方法を解説します。 1. 新しいDateオブジェクトを作成する まずは、日時を表す文字列をもとに、新しいDateオブジェクトを作成しましょう。 var dateValue = new Date(2021-01-12 10:10:20); 2. setHours()とgetHours()で時間を追加する getHours()メソッドで現在の

  2. 【Android開発】日付と時刻をフォーマットして表示する方法をわかりやすく解説

    はじめに このチュートリアルでは、Androidアプリで日付と時刻をフォーマットして画面に表示する方法を、実際のコード例とともに段階的に解説します。JavaのSimpleDateFormatクラスを使えば、曜日や年月日、時分秒などを自由な形式で表示できます。 手順1:新しいプロジェクトを作成する まず、Android Studioで新しいプロジェクトを作成します。メニューから「File → New Project」を選択し、必要な項目を入力してプロジェクトを作成してください。 手順2:レイアウトファイル(activity_main.xml)を編集する 次に、res/layout/activ