public static DateTime? New( int year, int month, int day ) { try { if ( !DateTime.IsLeapYear( year ) && month == 2 && day == 29 ) { return new DateTime( year, 2, 28 ); } return new DateTime( year, month, day ); } catch { } return (DateTime?)null; }