どうも、ちょげ(@chogetarou)です。
datetimeから時間のみを取得する方法を紹介します。
方法

datetimeから時間のみを取得する方法は、3つあります。
Hourプロパティ
1つ目は、Hourプロパティを使う方法です。
具体的な方法としては、「date.Hour」のように、DateTimeのHourプロパティにアクセスします。
int hour = date.Hour;
DateTimeのHourプロパティにアクセスすることで、DateTimeの時間のみを数値として取得できます。
使用例
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の時間のみを文字列として取得できます。
使用例
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");
使用例
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");
コメント