3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【C#】日時文字列をDateTime型へ変換する

Last updated at Posted at 2020-08-23

概要

C#で文字列からDateTime型に変換するには「Parse」もしくは「TryParth」メソッドが使用できます。

Parseメソッド

// 日付・時刻あり
string strDateTime = "2020/10/22 15:01:11";
DateTime dateTime = DateTime.Parse(strDateTime);
Console.WriteLine(dateTime.ToString("yyyy/MM/dd HH:mm:ss"));

// 時刻省略
string strDate = "2020/10/22";
DateTime dateTimeFromDate = DateTime.Parse(strDate);
Console.WriteLine(dateTimeFromDate.ToString("yyyy/MM/dd HH:mm:ss"));

// 日付省略
string strTime = "15:01:11";
DateTime dateTimeFromTime = DateTime.Parse(strTime);
Console.WriteLine(dateTimeFromTime.ToString("yyyy/MM/dd HH:mm:ss"));
実行結果
2020/10/22 15:01:11
2020/10/22 00:00:00
2020/08/22 15:01:11

日付・時刻は省略できます。
時刻未入力の場合は 00:00:00 が入ります。
日付未入力の場合は 現在日付が入ります。

###例外
渡す文字列がnullの場合は「ArgumentNullException」が発行されます。
渡す文字列が日時として判別不可能な場合は「FormatException」が発行されます。

TryParseメソッド

第1引数に変換する文字列を指定し、第2引数に指定したDateTime型に変換後の日時が格納されます。また変換に成功したかどうかを示す値を返します。

string strDateTime = "2020/10/22 15:01:11";
DateTime dateTime;

if (DateTime.TryParse(strDateTime, out dateTime))
{
Console.WriteLine("成功!");
Console.WriteLine(dateTime.ToString("yyyy/MM/dd HH:mm:ss"));
} else {
Console.WriteLine("失敗!");
Console.WriteLine(dateTime);
}
実行結果
成功!
2020/10/22 15:01:11

参考

https://docs.microsoft.com/ja-jp/dotnet/api/system.datetime.parse?view=netcore-3.1
https://docs.microsoft.com/ja-jp/dotnet/api/system.datetime.tryparse?view=netcore-3.1

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?