Pages

2010/07/26

日付文字列を日付型にスマートに変換

例えば時間を文字列に変換する場合は、

string d = DateTime.Now.ToString("yyyy/MM/dd");
// 出力: 2010/07/26

こんな形で簡単にできる。
しかし、変換対象となるデータが"20100726120000"のような場合だと例外が発生してしまう。

この場合はDateTime.ParseExactを使用する。
値がわからない場合には、DateTime.TryParseExactが使える。

string d = "20100726120000";
DateTime date;
if (DateTime.TryParseExact(d, "yyyyMMddHHmmss", null, DateTimeStyles.None, out date))
{
// 出力: 2010/07/26 12:00:00(日付型)
}

DateTimeStyles.Noneとなっている引数は、DateTimeStyles列挙体を指定するが、これはSystem.Globalization名前空間のものなので注意する。
Related Posts Plugin for WordPress, Blogger...