[C#]DateTimeから時間のみを文字列として取得するには?

C#

どうも、ちょげ(@chogetarou)です。

DateTimeから時間のみを文字列として取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

DateTimeから時間のみを文字列として取得する方法は、2つあります。

Hour

1つは、Hourプロパティを使う方法です。

まず、「date.Hour」のように、DateTimeのHourプロパティにアクセスします。

そして、HourプロパティからToString()を呼び出します。

string hour = date.Hour.ToString();

上記のToString()は、DateTimeの時間のみを文字列として取得できます。

上記の方法で取得する時間は、24時間表記になっています。

使用例

using System;

public class Sample 
{
    public static void Main() 
    {
        DateTime currentDay = DateTime.Now;
        
        string hour = currentDay.Hour.ToString();
        
        System.Console.WriteLine(currentDay);
        System.Console.WriteLine(hour);
    }
}
出力:
8/31/2022 12:10:51 AM
0

フォーマット

もう1つは、フォーマットを使う方法です。

まず、DateTimeからToString()を呼び出します。

そして、ToString()の引数に、時間のフォーマット(h, hh, H, HH)のみを入力した文字列を指定します。

string hour = date.ToString("HH");

上記のToString()は、DateTimeの時間のみを指定されたフォーマットの文字列として取得します。

また、午前・午後の表記をつけたい場合は、フォーマットに「tt」を指定します。

string hour = date.ToString("hh tt");

以下は、時間関連のフォーマットです。

  • h -> 12時間表記の時間
  • hh -> 12時間表記の時間。0埋めあり
  • H -> 24時間表記の時間
  • HH -> 24時間表記の時間。0埋めあり
  • tt -> 午前・午後の表記

使用例

using System;

public class Sample 
{
    public static void Main() 
    {
        DateTime currentDay = DateTime.Now;
        
        string hour1 = currentDay.ToString("hh tt");
        string hour2 = currentDay.ToString("HH");
        
        System.Console.WriteLine(hour1);
        System.Console.WriteLine(hour2);
    }
}
出力:
11 PM
23

まとめ

DateTimeから時間のみを文字列として取得する方法は、次の2つです。

  • Hourプロパティを使う方法
    string hour = date.Hour.ToString();
  • フォーマットを使う方法
    string hour = date.ToString("HH");

コメント

タイトルとURLをコピーしました