천객만래 [千客萬來] (It has an interminable succession of visitors)

ASP.NET 웹 페이지 전역화를 위한 HTML 레이아웃 지침

사용자 인터페이스는 문자열에 포함된 텍스트 크기에 맞게 모든 컨트롤의 크기를 조정하므로 HTML 레이아웃 구현을 위해서는 지역화 담당자가 문자열만 번역해야 합니다. 지역화 프로세스에서 컨트롤 크기를 수동으로 조정하는 단계가 없어지고 이로 인해 오류 및 버그가 없어지므로 매우 유용합니다. 그러나 컨트롤의 레이아웃은 문자열 길이에 따라 변경되므로 지역화된 웹 사이트를 신중하게 테스트해야 합니다.

다음은 전역화할 ASP.NET 웹 페이지를 디자인하는 경우 권장되는 몇 가지 지침입니다.

  • 절대 위치를 사용하지 마십시오.

    절대 위치를 지정하면 요소의 배치와 크기가 자동으로 조정되지 않습니다. 다음 코드 예제와 같이 절대 위치를 지정하면 안 됩니다.

    <!-- Do not do this. -->
    <div id = idFindWhatLabel style = "position: absolute; left: 0.98em; top: 1.2168em; width: 4.8em; height: 1.2168em;">
  • 폼에 사용 가능한 너비와 높이를 지정하십시오.

    다음과 같은 두 가지 방법을 사용할 수 있습니다.

    • 주요 요소(예: 표)의 크기를 width=100%로 조정합니다.

      예를 들면 다음과 같습니다.

      <!-- A table sized to take up entire width of the form.-->
        <table width=100%>
    • 폼의 전체 크기를 기준으로 CSS 스타일시트 식을 사용하여 요소의 크기를 조정합니다.

      예를 들면 다음과 같습니다.

      <!-- A div element sized to take up half the width and height of the form. -->
      <div style=' 
        height: expression(document.body.clientHeight / 2);
        width: expression(document.body.clientWidth / 2); '>
  • 각 컨트롤에 대해 별도의 표 셀을 사용하십시오.

    이렇게 하면 텍스트를 개별적으로 줄 바꿈할 수 있으므로 텍스트 레이아웃이 오른쪽에서 왼쪽으로 배치되는 culture에 대해서도 맞춤을 올바로 적용할 수 있습니다.

  • 텍스트 줄 바꿈을 허용하고 텍스트가 포함된 표 셀에 nowrap 특성을 사용하지 마십시오.

    텍스트를 어떤 언어로 변환하더라도 한 줄에 표시할 수 있도록 충분한 공간이 있는 경우에만 nowrap 특성을 사용하십시오.

  • 확인란 및 라디오 단추를 레이블 텍스트와 분리합니다.

    확인란 및 라디오 단추의 레이블을 컨트롤과 다른 별개의 셀에 넣어야 합니다. 이렇게 하면 텍스트가 확장될 경우 제대로 줄 바꿈할 수 있습니다. 그러나, 기본적으로는 번역된 텍스트가 한 줄에 배치될 수 있는 충분한 공간을 두어 폼을 디자인해야 합니다.

  • 번역된 텍스트가 길 경우를 위해 공간을 남겨두고 고정 너비를 사용하지 마십시오.

    텍스트를 다른 언어로 번역하면 길이가 늘어날 수 있습니다. 경험에 따르면 10자 미만인 짧은 문자열은 300%, 10~20자인 중간 길이의 문자열은 200%, 20자가 넘는 긴 문자열은 100% 증가에 대비하여 공간을 남겨두는 것이 좋습니다.

    셀이 전체 표 크기에 비례하여 확장될 수 있도록 표 셀 너비를 폼 너비의 백분율로 설정하는 것도 하나의 방법이 될 수 있습니다. 그러나 HTML 레이아웃 엔진에서 대부분의 작업을 자동으로 수행할 수 있으므로 상대 크기를 100%를 제외하고 가능한 작은 값으로 지정하는 것이 좋습니다.

    <!-- The table cell is sized to take up one quarter of the width of the table. -->
    <td width=25%>
  • 가능하면 여러 단추의 크기를 한 곳에서 조정합니다.

    일련의 단추를 같은 크기로 만들어야 하는 경우가 종종 있습니다. 가능하면 한 곳에서 단추 집합 전체에 대해 크기를 설정하십시오. 목록 상자와 그룹 상자에 대해서는 텍스트가 확장될 수 있도록 여유를 두어야 합니다.

  • 가능하면 높이를 설정하지 마십시오.

    텍스트를 포함하는 표 셀이나 컨트롤의 셀 높이를 설정하지 마십시오. CSS 스타일시트 요소에 대해 줄 높이를 설정할 수 있습니다. 셀 높이를 설정하면 사용자가 브라우저에서 텍스트 크기를 설정할 때 페이지의 모양이 바뀝니다.

  • HTML 태그에 왼쪽 또는 오른쪽 맞춤을 사용하지 마십시오.

    일반적으로 모든 표 셀에 대해 align="left" 또는 align="right"를 설정하지 마십시오. 텍스트 레이아웃이 오른쪽에서 왼쪽으로 배치되는 culture에 대해 이러한 설정을 사용하면 폼의 레이아웃에 문제가 발생할 수 있습니다.

  • 변경해야 할 수도 있는 인라인 CSS 스타일시트 값을 사용하지 마십시오.

    지역화 담당자가 변경해야 할 수도 있는 모든 CSS 스타일시트 값은 인라인 대신 스타일시트에 넣어야 합니다. 페이지의 글꼴 설정이 이에 해당합니다.

Posted by SB패밀리

네임스페이스:  :Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl03',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.aspx">System.Globalization
.NET Framework 클래스 라이브러리
DateTimeFormatInfo 클래스
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class DateTimeFormatInfo : ICloneable, 
    IFormatProvider

 

이 클래스에는 날짜 패턴, 시간 패턴 및 AM/PM 지정자와 같은 정보가 들어 있습니다.

특정 문화권에 대한 DateTimeFormatInfo를 만들려면 응용 프로그램에서 해당 문화권에 대한 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl72',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.cultureinfo.aspx">CultureInfo를 만든 다음 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl73',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.cultureinfo.datetimeformat.aspx">CultureInfo..::.DateTimeFormat 속성을 검색합니다. 현재 스레드의 문화권에 대한 DateTimeFormatInfo를 만들려면 응용 프로그램에서 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl75',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.currentinfo.aspx">CurrentInfo 속성을 사용해야 합니다. 고정 문화권에 대한 DateTimeFormatInfo를 만들려면 응용 프로그램에서 읽기 전용 버전의 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl76',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.invariantinfo.aspx">InvariantInfo 속성 또는 쓰기 가능한 버전의 DateTimeFormatInfo 생성자를 사용합니다. 중립 문화권에 대한 DateTimeFormatInfo를 만들 수 없습니다.

사용자는 제어판의 국가 및 언어 옵션을 통해 Windows의 현재 문화권과 연결된 값의 일부를 재정의할 수 있습니다. 예를 들어, 날짜를 다른 형식으로 표시하거나 해당 문화권의 기본 통화 단위가 아닌 다른 통화 단위를 사용할 수 있습니다. :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl77',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.cultureinfo.useuseroverride.aspx">CultureInfo..::.UseUserOverride 속성을 true로 설정한 경우 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl79',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.cultureinfo.datetimeformat.aspx">CultureInfo..::.DateTimeFormat 인스턴스, :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl81',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.cultureinfo.numberformat.aspx">CultureInfo..::.NumberFormat 인스턴스 및 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl83',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.cultureinfo.textinfo.aspx">CultureInfo..::.TextInfo 인스턴스의 속성 또한 사용자 설정에서 검색됩니다. 사용자 설정이 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl85',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.cultureinfo.aspx">CultureInfo에 연결된 문화권과 호환되지 않는 경우(예: 선택한 달력이 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl86',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.cultureinfo.optionalcalendars.aspx">OptionalCalendars에서 나타내는 달력 중 하나가 아닌 경우) 메서드의 결과와 속성 값은 정의되지 않습니다.

.NET Framework 버전 2.0 이전에서는 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl87',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.cultureinfo.useuseroverride.aspx">CultureInfo..::.UseUserOverride 속성이 true로 설정된 경우 사용자가 재정의할 수 있는 속성에 처음으로 액세스한 경우에만 개체에서 해당 속성을 읽습니다. DateTimeFormatInfo에 사용자가 재정의할 수 있는 속성이 둘 이상 있으므로 "초기화 지연"을 사용하면 응용 프로그램에서 한 속성에 액세스한 다음 사용자가 다른 문화권으로 변경하거나 제어판의 국가 및 언어 옵션을 통해 현재 사용자 문화권의 속성을 재정의한 후 응용 프로그램에서 다른 속성에 액세스할 때 이러한 속성이 일치하지 않게 될 수 있습니다. 예를 들어 이와 같은 순서로 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl89',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.longdatepattern.aspx">LongDatePattern에 액세스한 다음 사용자가 제어판에서 패턴을 변경한 후 다시 액세스하면 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl90',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.shortdatepattern.aspx">ShortDatePattern에 새 설정이 적용됩니다. 사용자가 특정 패턴을 재정의하는 대신 다른 사용자 문화권을 선택하는 경우에도 이와 유사한 불일치가 발생할 수 있습니다.

.NET Framework 버전 2.0 이상에서 DateTimeFormatInfo는 이 "초기화 지연"을 사용하지 않고 생성될 때 사용자가 재정할 수 있는 속성을 모두 읽습니다. 개체 만들기도 사용자 재정의 프로세스도 모두 원자성이 아니고 개체를 만드는 중에 관련 값이 변경될 수 있으므로 여전히 취약한 부분이 있지만 이는 매우 드문 경우입니다.

이 변경 사항은 serialization의 경우에 특히 중요합니다. ..NET Framework 버전 2.0 이상에서는 serialization이 발생되는 시간까지 액세스되는 설정뿐 아니라 재정의 가능한 모든 설정이 유지됩니다.

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl91',this);" href="http://msdn.microsoft.com/ko-kr/library/system.datetime.aspx">DateTime 값의 형식은 DateTimeFormatInfo 속성에 저장된 표준 또는 사용자 지정 패턴을 사용하여 지정됩니다.

응용 프로그램에서는 쓰기 가능한 DateTimeFormatInfo 개체의 관련 속성을 설정하여 표준 패턴을 사용자 지정 패턴으로 대체할 수 있습니다. :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl92',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.isreadonly.aspx">IsReadOnly 개체가 쓰기 가능한지 확인하려면 응용 프로그램에서 DateTimeFormatInfo 속성을 사용해야 합니다.

다음 표에서는 DateTimeFormatInfo 속성과 관련된 표준 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl93',this);" href="http://msdn.microsoft.com/ko-kr/library/system.datetime.aspx">DateTime 형식 패턴을 보여 줍니다. 자세한 내용은 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl94',this);" href="http://msdn.microsoft.com/ko-kr/library/az4se3k1.aspx">표준 날짜 및 시간 형식 문자열을 참조하십시오.

형식 패턴

관련 속성/설명

d

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl95',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.shortdatepattern.aspx">ShortDatePattern

D

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl96',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.longdatepattern.aspx">LongDatePattern

f

전체 날짜 및 시간(자세한 날짜와 간단한 시간)

F

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl97',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.fulldatetimepattern.aspx">FullDateTimePattern(자세한 날짜와 자세한 시간)

g

일반(간단한 날짜와 간단한 시간)

G

일반(간단한 날짜와 자세한 시간)

m, M

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl98',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.monthdaypattern.aspx">MonthDayPattern

o, O

라운드트립 날짜/시간 패턴. 이 형식 패턴을 사용하면 형식 지정 또는 구문 분석 작업을 할 때 항상 고정 문화권이 사용됩니다.

r, R

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl99',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.rfc1123pattern.aspx">RFC1123Pattern. 이 형식 패턴을 사용하면 형식 지정 및 구문 분석 작업을 할 때 항상 고정 문화권이 사용됩니다.

s

지역 시간을 사용한 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl100',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.sortabledatetimepattern.aspx">SortableDateTimePattern(ISO 8601 기반). 이 형식 패턴을 사용하면 형식 지정 또는 구문 분석 작업을 할 때 항상 고정 문화권이 사용됩니다.

t

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl101',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.shorttimepattern.aspx">ShortTimePattern

T

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl102',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.longtimepattern.aspx">LongTimePattern

u

세계 표준시 표시 형식을 사용한 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl103',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.universalsortabledatetimepattern.aspx">UniversalSortableDateTimePattern. 이 형식 패턴을 사용하면 형식 지정 또는 구문 분석 작업을 할 때 항상 고정 문화권이 사용됩니다

U

지역 표준시를 사용한 전체 날짜 및 시간(자세한 날짜와 자세한 시간)

y, Y

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl104',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.yearmonthpattern.aspx">YearMonthPattern

다음 표에서는 사용자 지정 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl105',this);" href="http://msdn.microsoft.com/ko-kr/library/system.datetime.aspx">DateTime 형식 패턴 및 해당 동작을 보여 줍니다. 자세한 내용은 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl106',this);" href="http://msdn.microsoft.com/ko-kr/library/8kb3ddd4.aspx">사용자 지정 날짜 및 시간 형식 문자열을 참조하십시오.

형식 패턴

설명

d, %d

날짜. 한 자리로 된 날짜 앞에는 0이 오지 않습니다. 응용 프로그램에서는 형식 패턴이 다른 형식 패턴과 결합되지 않을 경우 "%d"를 지정합니다.

dd

날짜. 한 자리로 된 날짜 앞에는 0이 옵니다.

ddd

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl107',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.abbreviateddaynames.aspx">AbbreviatedDayNames에 정의된 약식 요일 이름

dddd

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl108',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.daynames.aspx">DayNames에 정의된 자세한 요일 이름

f, %f

한 자리 정밀도에서 초의 소수 부분입니다. 나머지 자릿수는 잘립니다. 응용 프로그램에서는 형식 패턴이 다른 형식 패턴과 결합되지 않을 경우 "%f"를 지정합니다.

ff

두 자리 정밀도에서 초의 소수 부분입니다. 나머지 자릿수는 잘립니다.

fff

세 자리 정밀도에서 초의 소수 부분입니다. 나머지 자릿수는 잘립니다.

ffff

네 자리 정밀도에서 초의 소수 부분입니다. 나머지 자릿수는 잘립니다.

fffff

다섯 자리 정밀도에서 초의 소수 부분입니다. 나머지 자릿수는 잘립니다.

ffffff

여섯 자리 정밀도에서 초의 소수 부분입니다. 나머지 자릿수는 잘립니다.

fffffff

일곱 자리 정밀도에서 초의 소수 부분입니다. 나머지 자릿수는 잘립니다.

F, %F

초의 소수 부분에 대한 최대 유효 자릿수를 표시합니다. 이 자릿수가 0이면 아무 것도 표시되지 않습니다. 응용 프로그램에서는 형식 패턴이 다른 형식 패턴과 결합되지 않을 경우 "%F"를 지정합니다.

FF

초의 소수 부분에 대한 최대 유효 자릿수를 2개로 표시합니다. 그러나 후행 0이나 2개의 0으로 된 숫자는 표시되지 않습니다.

FFF

초의 소수 부분에 대한 최대 유효 자릿수를 3개로 표시합니다. 그러나 후행 0이나 3개의 0으로 된 숫자는 표시되지 않습니다.

FFFF

초의 소수 부분에 대한 최대 유효 자릿수를 4개로 표시합니다. 그러나 후행 0이나 4개의 0으로 된 숫자는 표시되지 않습니다.

FFFFF

초의 소수 부분에 대한 최대 유효 자릿수를 5개로 표시합니다. 그러나 후행 0이나 5개의 0으로 된 숫자는 표시되지 않습니다.

FFFFFF

초의 소수 부분에 대한 최대 유효 자릿수를 6개로 표시합니다. 그러나 후행 0이나 6개의 0으로 된 숫자는 표시되지 않습니다.

FFFFFFF

초의 소수 부분에 대한 최대 유효 자릿수를 7개로 표시합니다. 그러나 후행 0이나 7개의 0으로 된 숫자는 표시되지 않습니다.

gg

서기. 형식이 지정될 날짜에 연관된 서기 문자열이 없는 경우 이 패턴은 무시됩니다.

h, %h

12시간제 시간. 한 자리로 된 시 앞에는 0이 오지 않습니다. 응용 프로그램에서는 형식 패턴이 다른 형식 패턴과 결합되지 않을 경우 "%h"를 지정합니다.

hh

12시간제 시간. 한 자리로 된 시 앞에는 0이 옵니다.

H, %H

24시간제 시간. 한 자리로 된 시 앞에는 0이 오지 않습니다. 응용 프로그램에서는 형식 패턴이 다른 형식 패턴과 결합되지 않을 경우 "%H"를 지정합니다.

HH

24시간제 시간. 한 자리로 된 시 앞에는 0이 옵니다.

K

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl109',this);" href="http://msdn.microsoft.com/ko-kr/library/system.datetime.kind.aspx">Kind 속성의 여러 값(로컬, UTC 또는 지정되지 않음)

m, %m

분. 한 자리로 된 분 앞에는 0이 오지 않습니다. 응용 프로그램에서는 형식 패턴이 다른 형식 패턴과 결합되지 않을 경우 "%m"을 지정합니다.

mm

분. 한 자리로 된 분 앞에는 0이 옵니다.

M, %M

숫자로 표현된 월. 한 자리로 된 달 앞에는 0이 오지 않습니다. 응용 프로그램에서는 형식 패턴이 다른 형식 패턴과 결합되지 않을 경우 "%M"을 지정합니다.

MM

숫자로 표현된 월. 한 자리로 된 달 앞에는 0이 옵니다.

MMM

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl110',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.abbreviatedmonthnames.aspx">AbbreviatedMonthNames에 정의된 약식 월 이름

MMMM

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl111',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.monthnames.aspx">MonthNames에 정의된 자세한 월 이름

s, %s

초. 한 자리로 된 초 앞에는 0이 오지 않습니다. 응용 프로그램에서는 형식 패턴이 다른 형식 패턴과 결합되지 않을 경우 "%s"를 지정합니다.

ss

초. 한 자리로 된 초 앞에는 0이 옵니다.

t, %t

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl112',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.amdesignator.aspx">AMDesignator 또는 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl113',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.pmdesignator.aspx">PMDesignator에 정의된 AM/PM 지정자의 첫 문자입니다. 응용 프로그램에서는 형식 패턴이 다른 형식 패턴과 결합되지 않을 경우 "%t"를 지정합니다.

tt

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl114',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.amdesignator.aspx">AMDesignator 또는 :Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl115',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.pmdesignator.aspx">PMDesignator에 정의된 AM/PM 지정자입니다. 응용 프로그램에서는 AM과 PM을 구분하는 데 필요한 해당 언어의 이 형식 패턴을 사용해야 합니다. 예를 들어 일본어 AM/PM 지정자의 경우 첫 번째 문자가 아니라 두 번째 문자가 서로 다릅니다.

y, %y

세기 표시 제외 연도. 세기 부분을 제외한 연도가 10보다 작은 경우 연도 앞에 0이 붙지 않습니다. 응용 프로그램에서는 형식 패턴이 다른 형식 패턴과 결합되지 않을 경우 "%y"를 지정합니다.

yy

세기 표시 제외 연도. 세기 부분을 제외한 연도가 10보다 작은 경우 연도 앞에 0이 붙습니다.

yyy

세 자리 연도. 연도가 100보다 작으면 연도 앞에 0이 붙습니다.

yyyy

세기를 포함한 네 자리 또는 다섯 자리 연도(사용하는 달력에 따라 다름). 네 자리 숫자를 만들기 위해 앞에 0을 채웁니다. 태국 불교식과 한국식 달력에서는 다섯 자리 연도를 사용합니다. 사용자가 "yyyy" 패턴을 선택하면 다섯 자리 숫자를 사용하는 달력에서 앞에 0이 없이 모두 숫자로만 구성된 다섯 자리가 표시됩니다. 예외: 일본식 달력과 대만식 달력에서는 항상 "yy"가 선택된 것처럼 동작합니다.

yyyyy

다섯 자리 연도. 다섯 자리 숫자를 만들기 위해 앞에 0을 채웁니다. 예외: 일본식 달력과 대만식 달력에서는 항상 "yy"가 선택된 것처럼 동작합니다.

yyyyyy

여섯 자리 연도. 여섯 자리 숫자를 만들기 위해 앞에 0을 채웁니다. 예외: 일본식 달력과 대만식 달력에서는 항상 "yy"가 선택된 것처럼 동작합니다. 앞에 0이 더 채워진 보다 긴 "y" 문자열을 사용하여 패턴이 계속될 수 있습니다.

z, %z

시간대 오프셋("+" 또는 "-" 뒤에 시간만 옴)입니다. 한 자리로 된 시 앞에는 0이 오지 않습니다. 예를 들어, 태평양 표준시는 "-8"입니다. 응용 프로그램에서는 형식 패턴이 다른 형식 패턴과 결합되지 않을 경우 "%z"를 지정합니다.

zz

시간대 오프셋("+" 또는 "-" 뒤에 시간만 옴)입니다. 한 자리로 된 시 앞에는 0이 옵니다. 예를 들어, 태평양 표준시는 "-08"입니다.

zzz

자세한 시간대 오프셋("+" 또는 "-" 뒤에 시간과 분이 옴)입니다. 한 자리로 된 시간과 분 앞에는 0이 옵니다. 예를 들어, 태평양 표준시는 "-08:00"입니다.

:

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl116',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.timeseparator.aspx">TimeSeparator에 정의된 기본 시간 구분 문자입니다.

/

:Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl117',this);" href="http://msdn.microsoft.com/ko-kr/library/system.globalization.datetimeformatinfo.dateseparator.aspx">DateSeparator에 정의된 기본 날짜 구분 문자입니다.

% c

여기서 c는 단독으로 사용된 경우의 형식 패턴 문자입니다. "d", "f", "F", "h", "m", "s", "t", "y", "z", "H" 또는 "M" 형식 패턴을 단독으로 사용하려면 응용 프로그램에서 "%d", "%f", "%F", "%h", "%m", "%s", "%t", "%y", "%z", "%H" 또는 "%M"을 지정합니다.

형식 패턴 문자가 리터럴 문자나 다른 형식 패턴 문자와 조합되어 사용될 경우 "%" 문자를 생략할 수 있습니다.

\ c

여기서 c는 임의의 문자입니다. 문자를 그대로 표시합니다. 백슬래시 문자를 표시하려면 "\\"를 사용해야 합니다.

위의 두 번째 표에 나열된 형식 패턴을 사용해야만 사용자 지정 패턴을 만들 수 있으며, 첫 번째 표에 나열된 표준 형식 패턴을 사용하면 표준 패턴만 만들 수 있습니다. 사용자 지정 패턴은 다음처럼 최소한 두 문자 길이입니다.

 

  • DateTime.ToString("d"):Track('ctl00_rs1_mainContentContainer_cpe283257_c|ctl00_rs1_mainContentContainer_ctl118',this);" href="http://msdn.microsoft.com/ko-kr/library/system.datetime.aspx">DateTime 값을 반환합니다. "d"는 간단한 표준 날짜 패턴입니다.

  • DateTime.ToString("%d")는 일을 반환합니다. "%d"는 사용자 지정 패턴입니다.

  • DateTime.ToString("d ")는 일과 그 다음에 공백 문자를 반환합니다. "d "는 사용자 지정 패턴입니다.

  •  

     

    다음 코드 예제에서는 en-US 문화권에 대해 서로 다른 형식 패턴을 출력합니다. 또한 해당 형식 패턴과 관련된 속성 값을 표시합니다.

     

     

     

    using System;
    using System.Globalization;


    public class SamplesDTFI  {

       public static void Main()  {

          // Creates and initializes a DateTimeFormatInfo associated with the en-US culture.
          DateTimeFormatInfo myDTFI = new CultureInfo( "en-US", false ).DateTimeFormat;

          // Creates a DateTime with the Gregorian date January 3, 2002 (year=2002, month=1, day=3).
          // The Gregorian calendar is the default calendar for the en-US culture.
          DateTime myDT = new DateTime( 2002, 1, 3 );

          // Displays the format pattern associated with each format character.
          Console.WriteLine( "FORMAT  en-US EXAMPLE" );
          Console.WriteLine( "CHAR    VALUE OF ASSOCIATED PROPERTY, IF ANY\n" );
          Console.WriteLine( "  d     {0}", myDT.ToString("d", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.ShortDatePattern, "(ShortDatePattern)" );
          Console.WriteLine( "  D     {0}", myDT.ToString("D", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.LongDatePattern, "(LongDatePattern)" );
          Console.WriteLine( "  f     {0}\n", myDT.ToString("f", myDTFI) );
          Console.WriteLine( "  F     {0}", myDT.ToString("F", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.FullDateTimePattern, "(FullDateTimePattern)" );
          Console.WriteLine( "  g     {0}\n", myDT.ToString("g", myDTFI) );
          Console.WriteLine( "  G     {0}\n", myDT.ToString("G", myDTFI) );
          Console.WriteLine( "  m     {0}", myDT.ToString("m", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.MonthDayPattern, "(MonthDayPattern)" );
          Console.WriteLine( "  M     {0}", myDT.ToString("M", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.MonthDayPattern, "(MonthDayPattern)" );
          Console.WriteLine( "  o     {0}\n", myDT.ToString("o", myDTFI) );
          Console.WriteLine( "  r     {0}", myDT.ToString("r", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.RFC1123Pattern, "(RFC1123Pattern)" );
          Console.WriteLine( "  R     {0}", myDT.ToString("R", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.RFC1123Pattern, "(RFC1123Pattern)" );
          Console.WriteLine( "  s     {0}", myDT.ToString("s", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.SortableDateTimePattern, "(SortableDateTimePattern)" );
          Console.WriteLine( "  t     {0}", myDT.ToString("t", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.ShortTimePattern, "(ShortTimePattern)" );
          Console.WriteLine( "  T     {0}", myDT.ToString("T", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.LongTimePattern, "(LongTimePattern)" );
          Console.WriteLine( "  u     {0}", myDT.ToString("u", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.UniversalSortableDateTimePattern, "(UniversalSortableDateTimePattern)" );
          Console.WriteLine( "  U     {0}\n", myDT.ToString("U", myDTFI) );
          Console.WriteLine( "  y     {0}", myDT.ToString("y", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.YearMonthPattern, "(YearMonthPattern)" );
          Console.WriteLine( "  Y     {0}", myDT.ToString("Y", myDTFI) );
          Console.WriteLine( "        {0} {1}\n", myDTFI.YearMonthPattern, "(YearMonthPattern)" );

       }

    }

    /*
    This code produces the following output.

    FORMAT  en-US EXAMPLE
    CHAR    VALUE OF ASSOCIATED PROPERTY, IF ANY

      d     1/3/2002
            M/d/yyyy (ShortDatePattern)

      D     Thursday, January 03, 2002
            dddd, MMMM dd, yyyy (LongDatePattern)

      f     Thursday, January 03, 2002 12:00 AM

      F     Thursday, January 03, 2002 12:00:00 AM
            dddd, MMMM dd, yyyy h:mm:ss tt (FullDateTimePattern)

      g     1/3/2002 12:00 AM

      G     1/3/2002 12:00:00 AM

      m     January 03
            MMMM dd (MonthDayPattern)

      M     January 03
            MMMM dd (MonthDayPattern)

      o     2002-01-03T00:00:00.0000000

      r     Thu, 03 Jan 2002 00:00:00 GMT
            ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

      R     Thu, 03 Jan 2002 00:00:00 GMT
            ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

      s     2002-01-03T00:00:00
            yyyy'-'MM'-'dd'T'HH':'mm':'ss (SortableDateTimePattern)

      t     12:00 AM
            h:mm tt (ShortTimePattern)

      T     12:00:00 AM
            h:mm:ss tt (LongTimePattern)

      u     2002-01-03 00:00:00Z
            yyyy'-'MM'-'dd HH':'mm':'ss'Z' (UniversalSortableDateTimePattern)

      U     Thursday, January 03, 2002 8:00:00 AM

      y     January, 2002
            MMMM, yyyy (YearMonthPattern)

      Y     January, 2002
            MMMM, yyyy (YearMonthPattern)

    */



    출처 : MSDN
    Posted by SB패밀리