/// <summary> /// 문자열이 Date형식인지 여부를 검사한다. /// </summary> /// <param name="strDate"></param> /// <param name="enDType"></param> /// <returns></returns> public static bool StringIsDate(string strDate, enDateType enDType) { try { String2Date(strDate, enDType); return(true); } catch { return(false); } }
/// <summary> /// string를 날짜로 변환 : 기준이 없는 형식 부분은 현재 시간 기준으로 변환 /// </summary> /// <param name="strDate"></param> /// <param name="enDType"></param> /// <returns></returns> public static DateTime String2Date(string strDate, enDateType enDType) { DateTime drRst = DateTime.Now; int Y = drRst.Year; int M = drRst.Month; int D = drRst.Day; int H = drRst.Hour; int MI = drRst.Minute; int S = drRst.Second; strDate = strDate.Replace("-", ""); if (strDate != null && strDate != "" && strDate.Length != 0) //strDate = drRst.ToString(); { switch (enDType) { case enDateType.DateTime: Y = int.Parse(strDate.Substring(0, 4)); M = int.Parse(strDate.Substring(5, 2)); D = int.Parse(strDate.Substring(8, 2)); H = int.Parse(strDate.Substring(11, 2)); MI = int.Parse(strDate.Substring(14, 2)); S = int.Parse(strDate.Substring(17, 2)); break; case enDateType.DateTimeShort: M = int.Parse(strDate.Substring(0, 2)); D = int.Parse(strDate.Substring(3, 2)); H = int.Parse(strDate.Substring(6, 2)); MI = int.Parse(strDate.Substring(9, 2)); S = int.Parse(strDate.Substring(12, 2)); break; case enDateType.Date: Y = int.Parse(strDate.Substring(0, 4)); M = int.Parse(strDate.Substring(4, 2)); D = int.Parse(strDate.Substring(6, 2)); break; case enDateType.Time: H = int.Parse(strDate.Substring(0, 2)); MI = int.Parse(strDate.Substring(3, 2)); S = int.Parse(strDate.Substring(6, 2)); break; case enDateType.Year: Y = int.Parse(strDate); break; case enDateType.Month: M = int.Parse(strDate); break; case enDateType.Day: D = int.Parse(strDate); break; case enDateType.Hour: H = int.Parse(strDate); break; case enDateType.Minute: MI = int.Parse(strDate); break; case enDateType.Second: S = int.Parse(strDate); break; case enDateType.DBType: Y = int.Parse(strDate.Substring(0, 4)); M = int.Parse(strDate.Substring(4, 2)); D = int.Parse(strDate.Substring(6, 2)); break; case enDateType.HourMinutes: Y = DateTime.Now.Year; M = int.Parse(strDate.Substring(0, 2)); D = int.Parse(strDate.Substring(2, 2)); break; default: Y = int.Parse(strDate.Substring(0, 4)); M = int.Parse(strDate.Substring(5, 2)); D = int.Parse(strDate.Substring(8, 2)); H = int.Parse(strDate.Substring(11, 2)); MI = int.Parse(strDate.Substring(14, 2)); S = int.Parse(strDate.Substring(17, 2)); break; } } return(new DateTime(Y, M, D, H, MI, S)); }
/// <summary> /// 시간을 문자열로 변경 하여 준다. /// </summary> /// <param name="dt"></param> /// <param name="enDType"></param> /// <returns></returns> public static string Date2String(DateTime dt, enDateType enDType) { string strRst = string.Empty; switch (enDType) { case enDateType.DateTime: strRst = dt.ToString("yyyy-MM-dd HH:mm:ss"); break; case enDateType.DateTimeShort: strRst = dt.ToString("MM-dd HH:mm:ss"); break; case enDateType.Date: strRst = dt.ToString("yyyy-MM-dd"); break; case enDateType.Time: strRst = dt.ToString("HH:mm:ss"); break; case enDateType.Year: strRst = dt.ToString("yyyy"); break; case enDateType.Month: strRst = dt.ToString("MM"); break; case enDateType.Day: strRst = dt.ToString("dd"); break; case enDateType.Hour: strRst = dt.ToString("HH"); break; case enDateType.Minute: strRst = dt.ToString("mm"); break; case enDateType.Second: strRst = dt.ToString("ss"); break; case enDateType.DBType: strRst = dt.ToString("yyyyMMdd"); break; case enDateType.HourMinutes: strRst = dt.ToString("HHmm"); break; default: strRst = dt.ToString("yyyy-MM-dd HH:mm:ss"); break; } return(strRst); }
/// <summary> /// object를 날짜로 변환 : 기준이 없는 형식 부분은 현재 시간 기준으로 변환 /// </summary> /// <param name="o"></param> /// <param name="enDType"></param> /// <returns></returns> public static DateTime obj2Date(object o, enDateType enDType) { string s = Fnc.obj2String(o); return(String2Date(s, enDType)); }