/// <summary> /// YYYYMMDD形式の文字列をDateTimeに変換する /// </summary> /// <param name="s">YYYYMMDD形式の文字列</param> /// <returns>DateTime?</returns> public static DateTime?YYYYMMDD2DateTime(string s) { var match = Regex.Match(s, @"^(\d{4})(\d{2})(\d{2})$"); if (match.Success) { return(EtcUtil.SafeExecute(() => { return (DateTime?)new DateTime( int.Parse(match.Groups[1].Value), int.Parse(match.Groups[2].Value), int.Parse(match.Groups[3].Value)); }, (DateTime?)null).Value); } else { return(null); } }
/// <summary> /// DateTimeを生成する。引数が不正の場合はNULLを返す。(9) /// </summary> /// <param name="year">年</param> /// <param name="month">月</param> /// <param name="day">日</param> /// <param name="calendar">カレンダー</param> /// <returns>DateTime?</returns> public static DateTime?Create(int year, int month, int day, Calendar calendar) => EtcUtil.SafeExecute( () => (DateTime?)new DateTime(year, month, day, calendar), (DateTime?)null).Value;
/// <summary> /// DateTimeを生成する。引数が不正の場合はNULLを返す。(6) /// </summary> /// <param name="year">年</param> /// <param name="month">月</param> /// <param name="day">日</param> /// <param name="hour">時</param> /// <param name="minute">分</param> /// <param name="second">秒</param> /// <param name="kind">種別</param> /// <returns>DateTime?</returns> public static DateTime?Create(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind) => EtcUtil.SafeExecute( () => (DateTime?)new DateTime(year, month, day, hour, minute, second, kind), (DateTime?)null).Value;
/// <summary> /// DateTimeを生成する。引数が不正の場合はNULLを返す。(3) /// </summary> /// <param name="year">年</param> /// <param name="month">月</param> /// <param name="day">日</param> /// <param name="hour">時</param> /// <param name="minute">分</param> /// <param name="second">秒</param> /// <param name="millisecond">mm秒</param> /// <param name="calendar">カレンダー</param> /// <returns>DateTime?</returns> public static DateTime?Create(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar) => EtcUtil.SafeExecute( () => (DateTime?)new DateTime(year, month, day, hour, minute, second, millisecond, calendar), (DateTime?)null).Value;