2009/08/26 11:45
#region DateFormat 열거형
///
/// 설 명 : DataFormat 열거형 (TT_DATE : yyyyMMddHHmm, TT_DAY : yyyyMMdd, TT_TIME : HHmmss)
///
public enum DateFormat
{
TT_DATE, // yyyyMMddHHmm
TT_DAY, // yyyyMMdd
TT_TIME // HHmmss
}
#endregion
#region 날짜 형식 관련 변환 Method
///
/// 설 명 : string 날짜(yyyyMMdd) -> DateTime 으로 변환
///
/// 변환할 string 날짜(yyyyMMdd)</param>
/// DateTime 날짜
public static DateTime GetDTDay(string a_sDay)
{
DateTime dtDate =
DateTime.ParseExact(a_sDay, "yyyyMMdd",
System.Globalization.DateTimeFormatInfo.InvariantInfo,
System.Globalization.DateTimeStyles.None);
return dtDate;
}
///
/// 설 명 : string 날짜(yyyyMMdd) -> string 날짜(yy/MM/dd)으로 변환
///
/// 변환할 string 날짜(yyyyMMdd)</param>
/// string 날짜(yy/MM/dd)
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("-", "/");
}
///
/// 설 명 : string 날짜(yyyyMMdd) -> string 날짜(yyyy/MM/dd)으로 변환
///
/// 변환할 string 날짜(yyyyMMdd)</param>
/// string 날짜(yyyy/MM/dd)
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("-", "/");
}
///
/// 설 명 : string 날짜(yyyyMMddHHmm) -> DateTime 으로 변환
///
/// 변환할 string 날짜(yyyyMMddHHmm)</param>
/// DateTime 날짜
public static DateTime GetDTDate(string a_sDate)
{
DateTime dtDate = DateTime.ParseExact(a_sDate,
"yyyyMMddHHmm",
System.Globalization.DateTimeFormatInfo.InvariantInfo,
System.Globalization.DateTimeStyles.None);
return dtDate;
}
///
/// 설 명 : DateTime -> string 날짜(yyyyMMdd)으로 변환
///
/// 변환할 날짜 DateTime</param>
/// string 날짜(yyyyMMdd)
public static string GetStrDay(DateTime a_odtDateTime)
{
return GetStrDate(a_odtDateTime, DateFormat.TT_DAY);
}
///
/// 설 명 : DateTime -> string 시간(HHmm)으로 변환
///
/// 변환할 날짜 DateTime</param>
/// string 시간(HHmm)
public static string GetStrTime(DateTime a_odtDateTime)
{
return GetStrDate(a_odtDateTime, DateFormat.TT_TIME);
}
///
/// 설 명 : DateTime -> string 날짜(yyyyMMddHHmm)으로 변환
///
/// 변환할 날짜 DateTime</param>
/// string 날짜(yyyyMMddHHmmss)
public static string GetStrDate(DateTime a_odtDateTime)
{
return GetStrDate(a_odtDateTime, DateFormat.TT_DATE);
}
///
/// 설 명 : DateTime -> string 년도(yyyy)으로 변환
///
/// 변환할 날짜 DateTime</param>
/// string 년도(yyyy)
public static string GetStrYear(DateTime a_odtDateTime)
{
return a_odtDateTime.Year.ToString().PadLeft(4, '0');
}
///
/// 설 명 : DateTime -> string 월(MM)으로 변환
///
/// 변환할 날짜 DateTime</param>
/// string 월(MM)
public static string GetStrMonth(DateTime a_odtDateTime)
{
return a_odtDateTime.Month.ToString().PadLeft(2, '0');
}
///
/// 설 명 : DateTime -> string 일(dd)으로 변환
///
/// 변환할 날짜 DateTime</param>
/// string 일(dd)
public static string GetStrDay2(DateTime a_odtDateTime)
{
return a_odtDateTime.Day.ToString().PadLeft(2, '0');
}
///
/// 설 명 : DateTime -> 한글 요일로 변환
///
/// 변환할 날짜 DateTime</param>
/// string 한글 요일
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 "";
}
///
/// 설 명 : DateTime -> 오전/오후로 변환
///
/// 변환할 날짜 DateTime</param>
/// K: 오전/오후, E:AM/PM</param>
/// string 오전/오후
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;
}
}
///
/// 설 명 : DateTime -> string 날짜(DateFormat)로 변환
///
/// 변환할 날짜 DateTime</param>
/// DateFormat 열거형</param>
/// string 날짜(DateFormat)
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;
}
///
/// 설 명 : DateTime -> string 날짜 포맷에 맞는 string 날짜로 변환
///
/// 변환할 날짜 DateTime</param>
/// 변환할 string 날짜 포맷</param>
/// string 날짜
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;
}
}
///
/// 설 명 : 여러가지 string 날짜를 string 날짜에 맞는 날짜 포맷으로 -> DateTime으로 변환
///
/// 변환할 string 날짜</param>
/// 변환할 string 날짜에 맞는 날짜 포맷</param>
/// DateTime 날짜
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;
}
}
///
/// 설 명 : string 날짜(yyyyMMdd) -> string 날짜(yyyy-MM-dd)로 변환
///
/// 변환할 string 날짜(yyyyMMdd)</param>
/// string 날짜(yyyy-MM-dd)
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;
}
}
///
/// string 날짜(yyyyMMdd) -> string 날짜(yyyy년 MM월 dd일 수요일)로 변환
///
/// 변환할 string 날짜(yyyyMMdd)</param>
/// string 날짜(yyyy년 MM월 dd일 수요일)
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;
}
}
///
/// string 날짜(yyyyMMdd) -> string 날짜(yyyy년 MM월 dd일)로 변환
///
/// string 날짜(yyyyMMdd)</param>
/// string 날짜(yyyy년 MM월 dd일)
public static string GetNoticeDate(string strDate)
{
return GetDTDay(strDate).ToString("yyyy년 MM월 dd일");
}
#endregion
[출처] C# 날짜관련 함수 ....|작성자 초고수닷
'정신노동.dat' 카테고리의 다른 글
| 플래쉬 태그목록 Cumulus for Tistory 버그수정 (4) | 2009/09/12 |
|---|---|
| C# 날짜관련 함수 (1) | 2009/08/26 |
| 블로그 도메인 주소 변경시 자동 이동처리 팁 (1) | 2009/05/06 |
| MSDN검색 쉽게 하기 - IE의 비주얼 검색 기능 이용 (0) | 2009/05/06 |
| SyntaxHighlighter 테스트 (0) | 2009/04/29 |
| [파워빌더 Tip] 상속받은 오브젝트의 부모 오브젝트명 알아내기 (0) | 2008/10/02 |
| 파워빌더 기본 함수 (0) | 2008/09/30 |
잘 보고 갑니당~^^