'DateTime'에 해당되는 글 1건

  1. 2007/04/05 hancem C#에서의 날짜처리 관련 함수 모음

DateTime 형식을 변환 할 수 있는 클래스 소스를 올려 드립니다. 참고 하세요

#region DateFormat 열거형
 /// <summary>
 /// 설  명 : DataFormat 열거형
 /// 작성일 : 2005-03-02
 /// </summary>
public enum DateFormat {
    TT_DATE,  // yyyyMMddHHmm
    TT_DAY,   // yyyyMMdd
    TT_TIME   // HHmmss
}
#endregion

#region 날짜 형식 관련 변환 Method
/// <summary>
/// 설  명 : string(yyyyMMdd) -> DateTime 으로 변경
/// 작성일 : 2005-03-02
/// </summary>
/// <param name="a_sDay">변환할 날짜 String</param>
/// <returns>DateTime 날짜</returns>
public static DateTime GetDTDay(string a_sDay) {
    DateTime dtDate =
        DateTime.ParseExact(a_sDay, "yyyyMMdd",
                                       System.Globalization.DateTimeFormatInfo.InvariantInfo ,
                                       System.Globalization.DateTimeStyles.None);
        return dtDate;
}

/// <summary>
/// 설  명 : string(yyyyMMdd) -> string(yy/MM/dd)으로 변경
/// 작성일 : 2005-03-02
/// </summary>
/// <param name="a_sDay">변환할 날짜 String</param>
/// <returns>DateTime 날짜</returns>
public static string GetDTDay2(string a_sDay) {
    DateTime dtDate = DateTime.ParseExact(a_sDay,
                             "yyyyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo ,
                             System.Globalization.DateTimeStyles.None);
    return dtDate.ToString("yy/MM/dd").Replace("-","/");
}

/// <summary>
/// 설  명 : string(yyyyMMdd) -> string(yyyy/MM/dd)으로 변경
/// 작성일 : 2005-03-02
/// </summary>
/// <param name="a_sDay">변환할 날짜 String</param>
/// <returns>DateTime 날짜</returns>
public static string GetDTDay3(string a_sDay) {
    DateTime dtDate = DateTime.ParseExact(a_sDay,
                           "yyyyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo ,
                           System.Globalization.DateTimeStyles.None);
    return dtDate.ToString("yyyy/MM/dd").Replace("-","/");
}

/// <summary>
/// 설  명 : string(yyyyMMddHHmm) -> DateTime 으로 변경<br/>
/// </summary>
/// <param name="a_sDate">변환할 날짜 String</param>
/// <returns>DateTime 날짜</returns>
public static DateTime GetDTDate(string a_sDate) {
    DateTime dtDate = DateTime.ParseExact(a_sDate,
                                                   "yyyyMMddHHmm",
                                                   System.Globalization.DateTimeFormatInfo.InvariantInfo ,
                                                   System.Globalization.DateTimeStyles.None);
    return dtDate;
}

/// <summary>
/// 설  명 : DateTime -> string(yyyyMMdd)으로 변경<br/>
/// </summary>
/// <param name="a_odtDateTime">변환할 날짜 DateTime</param>
/// <returns>string 날짜</returns>
public static string GetStrDay(DateTime a_odtDateTime) {
    return GetStrDate(a_odtDateTime, DateFormat.TT_DAY);
}
/// <summary>
/// 설  명 : DateTime -> string(HHmm)으로 변경<br/>
/// </summary>
/// <param name="a_odtDateTime">변환할 날짜 DateTime</param>
/// <returns>string 시간</returns>
public static string GetStrTime(DateTime a_odtDateTime) {
    return GetStrDate(a_odtDateTime, DateFormat.TT_TIME);
}

        /// <summary>

        /// 설  명 : DateTime -> string(yyyyMMddHHmm)으로 변경<br/>

        /// </summary>

        /// <param name="a_odtDateTime">변환할 날짜 DateTime</param>

        /// <returns>string (yyyyMMddHHmmss)</returns>

        public static string GetStrDate(DateTime a_odtDateTime)

        {

            return GetStrDate(a_odtDateTime, DateFormat.TT_DATE);

        }


        /// <summary>

        /// 설  명 : DateTime -> string(yyyy)으로 변경<br/>

        /// </summary>

        /// <param name="a_odtDateTime">변환할 날짜 DateTime</param>

        /// <returns>string 날짜</returns>

        public static string GetStrYear(DateTime a_odtDateTime)

        {

            return a_odtDateTime.Year.ToString().PadLeft(4 , '0');

        }


        /// <summary>

        /// 설  명 : DateTime -> string(MM)으로 변경<br/>

        /// </summary>

        /// <param name="a_odtDateTime">변환할 날짜 DateTime</param>

        /// <returns>string 날짜</returns>

        public static string GetStrMonth(DateTime a_odtDateTime)

        {

            return a_odtDateTime.Month.ToString().PadLeft(2 , '0');

        }


        /// <summary>

        /// 설  명 : DateTime -> string(dd)으로 변경<br/>

        /// </summary>

        /// <param name="a_odtDateTime">변환할 날짜 DateTime</param>

        /// <returns>string 날짜</returns>

        public static string GetStrDay2(DateTime a_odtDateTime)

        {

            return a_odtDateTime.Day.ToString().PadLeft(2 , '0');

        }


        /// <summary>

        /// 설  명 : DateTime -> 요일로 변경<br/>

        /// </summary>

        /// <param name="a_odtDateTime">변환할 날짜 DateTime</param>

        /// <returns>string 날짜</returns>

        public static string GetStrDayOfWeek(DateTime a_odtDateTime)

        {

            switch(a_odtDateTime.DayOfWeek)

            {

                case DayOfWeek.Monday:

                    return "월";


                case DayOfWeek.Tuesday:

                    return "화";


                case DayOfWeek.Wednesday:

                    return "수";

               

                case DayOfWeek.Thursday:

                    return "목";

               

                case DayOfWeek.Friday:

                    return "금";

               

                case DayOfWeek.Saturday:

                    return "토";

               

                case DayOfWeek.Sunday:

                    return "일";

            }

            return "";

        }


        /// <summary>

        /// 설  명 : DateTime -> 오전/오후 로 변경<br/>

        /// </summary>

        /// <param name="a_odtDateTime">변환할 날짜 DateTime</param>

        /// <returns>string 날짜</returns>

        public static string GetStrAmPm(DateTime a_odtDateTime , string strLang)

        {

            try

            {

                if(a_odtDateTime.Hour > 12)

                {

                    if(strLang.Equals("K"))

                        return "(오후) ";

                    else

                        return "(PM) ";

                }

                else

                {

                    if(strLang.Equals("K"))

                        return "(오전) ";

                    else

                        return "(AM) ";

                }

            }

            catch(Exception ex)

            {

                throw ex;

            }

        }


        /// <summary>

        /// DateTime -> string 내부 함수

        /// </summary>

        /// <param name="a_odtDateTime">변환할 날짜 DateTime</param>

        /// <param name="a_tDateFormat">DataFormat</param>

        /// <returns></returns>

        public static string GetStrDate(DateTime a_odtDateTime, DateFormat a_tDateFormat)

        {

            string sEditDate = null;

            DateTime dtDateTime;

            if(a_odtDateTime.Equals(DateTime.MinValue))

            {

                dtDateTime = DateTime.Now;

            }

            else

            {

                dtDateTime = a_odtDateTime;

            }


            string sDay = dtDateTime.ToString("yyyyMMdd");

            string sTime = dtDateTime.ToString("HHmm");

           

            switch(a_tDateFormat)

            {

                case DateFormat.TT_DATE:

                    sEditDate = sDay + sTime;

                    break;

                case DateFormat.TT_DAY:

                    sEditDate = sDay;

                    break;              

                case DateFormat.TT_TIME:

                    sEditDate = sTime;

                    break;

            }


            return sEditDate;

        }


        /// <summary>

        /// DateTime -> string 내부 함수

        /// </summary>

        /// <param name="a_odtDateTime">변환할 날짜 DateTime</param>

        /// <param name="a_tDateFormat">사용자가 정의한 변환 형식</param>

        /// <returns></returns>

        public static string GetStrFormatDate(DateTime a_odtDateTime, string a_tDateFormat)

        {

           

            DateTime dtDateTime;

            try

            {

                if(a_odtDateTime.Equals(DateTime.MinValue))

                {

                    dtDateTime = DateTime.Now;

                }

                else

                {

                    dtDateTime = a_odtDateTime;

                }

                return a_odtDateTime.ToString(a_tDateFormat).Replace("-","/");

            }

            catch(Exception ex)

            {

                throw ex;

            }

        }



        /// <summary>

        /// 설  명 : 여러가지 날짜 형식 String을 String 형식에 맞는 날짜 포맷으로 -> DateTime 으로 변경<br/>

        /// </summary>

        /// <param name="a_sDate">변환할 날짜 String</param>

        /// <param name="a_sDate">변환할 날짜 String 에 맞는 날짜 포맷</param>

        /// <returns>DateTime 날짜</returns>

        public static DateTime GetDateTimeFormatString(string a_sDate, string a_sFormat)

        {

            try

            {

                DateTime dtDate = DateTime.ParseExact(a_sDate, a_sFormat,System.Globalization.DateTimeFormatInfo.InvariantInfo ,System.Globalization.DateTimeStyles.None);

                return dtDate;

            }

            catch(Exception ex)

            {

                throw ex;

            }


        }

       

        /// <summary>

        /// DateTime -> string 내부 함수

        /// </summary>

        /// <param name="a_odtDateTime">변환할 날짜 DateTime</param>

        /// <param name="a_sFormatString">사용자가 정의한 변환 형식</param>

        /// <returns>ex) 2005년 4월 8일 금요일 22:21</returns>

        public static string GetStrFullFormatDate(string a_sDate, string a_sFormatString)

        {

            DateTime dtDateTime;

            try

            {

                // 사용자가 정의한 형식으로 DataTime 형식 날짜 생성

                dtDateTime = GetDateTimeFormatString(a_sDate, a_sFormatString);

           

                //  리턴할 문자열 생성

                return GetStrFormatDate(dtDateTime, "yyyy/MM/dd ") + GetStrDayOfWeek(dtDateTime) + GetStrAmPm(dtDateTime, "E") +  GetStrFormatDate(dtDateTime, "HH:mm");

            }

            catch(Exception ex)

            {

                throw ex;

            }

        }

        /// <summary>

        /// DateTime -> string 내부 함수

        /// </summary>

        /// <param name="a_odtDateTime">변환할 날짜 DateTime</param>

        /// <param name="a_sFormatString">사용자가 정의한 변환 형식</param>

        /// <returns>ex) 2005년 4월 8일 금요일 22:21</returns>

        public static string GetStrFullFormatDate2(DateTime a_odtDateTime)

        {

            try

            {   

                //  리턴할 문자열 생성

                return GetStrFormatDate(a_odtDateTime, "yyyy/MM/dd ") + GetStrDayOfWeek(a_odtDateTime) + GetStrAmPm(a_odtDateTime, "E") +  GetStrFormatDate(a_odtDateTime, "HH:mm");

            }

            catch(Exception ex)

            {

                throw ex;

            }

        }


        /// <summary>

        /// 설  명 : 20050314--> 2005-03-14 형식으로 변환

        /// </summary>

        /// <param name="strDate">변환할 날짜</param>

        /// <returns></returns>

        public static string getDateTimeFormat(string strDate)

        {

            string strReturn = string.Empty;


            try

            {

                // 변환하려는 날짜가 8자리 이상이어야 함.

                if (strDate.Length > 7)

                {

                    strDate = strDate.Replace("-","");

                    strReturn = strDate.Substring(0,4) + "-" + strDate.Substring(4,2) + "-" + strDate.Substring(6,2);

                }


                return strReturn;

            }

            catch(Exception ex)

            {

                throw ex;

            }

        }


        /// <summary>

        /// string(yyyyMMdd) 을 ==> string(05/06/17 수요일)

        /// </summary>

        /// <param name="strDate">string(yyyyMMdd)</param>

        /// <returns></returns>

        public static string GetQTDate(string strDate)

        {

            switch(strDate.Length)

            {

                case 8:

                    return GetDTDay(strDate).ToString("yyyy년 MM월 dd일 ") + GetStrDayOfWeek(GetDTDay(strDate)) + "요일";

                case 12:

                    return GetDTDate(strDate).ToString("yyyy년 MM월 dd일 ") + GetStrDayOfWeek(GetDTDate(strDate)) + "요일";

                default:

                    return string.Empty;

            }


        }


        /// <summary>

        /// string(yyyyMMdd) 을 ==> string(yyyy년 MM월 dd일)

        /// </summary>

        /// <param name="strDate">string(yyyyMMdd)</param>

        /// <returns></returns>

        public static string GetNoticeDate(string strDate)

        {

            return GetDTDay(strDate).ToString("yyyy년 MM월 dd일");

        }

        #endregion



     

2007/04/05 21:06 2007/04/05 21:06