DateTime 형식을 변환 할 수 있는 클래스 소스를 올려 드립니다. 참고 하세요
/// <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






46673
52
81










댓글을 달아 주세요