yoshikazuendo
3/12/2014 - 2:36 AM

usage DateTime.Parse DateTime.ParseExact。今更だけど、稀に迷う時があるのでメモ。

usage DateTime.Parse DateTime.ParseExact。今更だけど、稀に迷う時があるのでメモ。

// DateTime.Parse
// DateTimeに変換したい文字列が、DateTime型の扱う基本的なフォーマットであれば、Parseで簡単に変換できる。
var date1 = DateTime.Parse("2014/03/10 23:58:58"); // 2014/03/10 23:58:58
var date2 = DateTime.Parse("2014/03/10"); // 2014/03/10 0:00:00 (時分秒は0:00:00が入る。)
var date3 = DateTIme.Parse("23:59:59"); // 2014/03/12 23:59:59 (年月日は変換した日付が入る。)

// だたし、文字列のフォーマットが特殊の場合は変換できず、Exceptionがthrowされる。
// var date4 = DateTime.Parse("20140310"); // エラー!

// この場合はParseExactを使うと変換できる。変換する文字列のフォーマットを第二引数に指定する。
var test4 = DateTime.ParseExact("20140312", "yyyyMMdd", null); // 2014/03/10 0:00:00 (時分秒は0:00:00が入る。)
var test5 = DateTime.ParseExact("235959", "HHmmss", null); // 2014/03/12 23:59:59 (年月日は変換した日付が入る。)