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

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

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名前空間のものなので注意する。

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する