[C#]datetimeから時間のみを取得するには?

C#

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

datetimeから時間のみを取得する方法を紹介します。

スポンサーリンク

方法

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

datetimeから時間のみを取得する方法は、3つあります。

Hourプロパティ

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

具体的な方法としては、「date.Hour」のように、DateTimeのHourプロパティにアクセスします。

int hour = date.Hour;

DateTimeのHourプロパティにアクセスすることで、DateTimeの時間のみを数値として取得できます。

Hourプロパティで取得する時間は、24時間表記になっています。

使用例

using System;

public class Sample 
{
    public static void Main() 
    {
        DateTime currentDay = DateTime.Now;
        
        int hour = currentDay.Hour;
        
        System.Console.WriteLine(currentDay);
        System.Console.WriteLine(hour);
    }
}
出力:
8/30/2022 11:44:36 PM
23

Hourプロパティ + ToString()

2つ目は、HourプロパティとToString()を使う方法です。

まず、「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

ToString()

3つ目は、ToString()のみを使う方法です。

まず、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から時間のみを取得する方法は、次の3つです。

  • Hourプロパティを使う方法
    int hour = date.Hour;
  • HourプロパティとToString()を使う方法
    string hour = date.Hour.ToString();
  • ToString()を使う方法
    string hour = date.ToString("HH");

コメント

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