사용자 정의 문자열 포멧 지정하기 ( IFormatProvider, ICustomFormatter )
사용자 정의 포멧을 지정할수 있는데
아래와 같음.
지정된 문자열을 해당 포멧으로 만들어 낼수 있음.
string str = "20090201";
string ss = string.Format(new DateTimeString(), "{0:yyyy년 mm월 dd일}", str);
this.textBox2.Text = ss;
public class DateTimeString : IFormatProvider, ICustomFormatter
{
#region IFormatProvider 멤버
public object GetFormat(Type formatType)
{
if (formatType == typeof(ICustomFormatter))
return this;
else
return null;
}
#endregion
#region ICustomFormatter 멤버
public string Format(string format, object arg, IFormatProvider formatProvider)
{
if (format == "yyyy-mm-dd" && arg.ToString().Length == 8)
{
return arg.ToString().Substring(0, 4) + "-" + arg.ToString().Substring(4, 2) + "-" + arg.ToString().Substring(6, 2);
}
else if (format == "yyyy년 mm월 dd일" && arg.ToString().Length == 8)
{
return arg.ToString().Substring(0, 4) + "년 " + arg.ToString().Substring(4, 2) + "월 " + arg.ToString().Substring(6, 2)+"일";
}
return arg.ToString();
}
#endregion
}