bestsource

문화 정보를 기반으로 날짜 및 시간 형식을 얻으려면 어떻게 해야 합니까?

bestsource 2023. 7. 13. 20:59
반응형

문화 정보를 기반으로 날짜 및 시간 형식을 얻으려면 어떻게 해야 합니까?

내가 원하는 건..문화가 미국 내에 있다면,

string dateFormat="MM/dd/yyyy"; 
string timeFormat="24.00 hrs";

문화가 en-GB인 경우

string dateFormat="dd/mmyyyy"; 
string timeFormat="24.00 hrs";

다른 나라의 경우 등등..

이제 이러한 날짜 및 시간 형식 값을 어떻게 가져올 수 있습니까?기준이 무엇입니까?모든 국가가 유사한 날짜/시간 형식을 사용하고 그렇지 않은 국가는 어느 것입니까?

좋아요, 해봤어요 :-

 DateTime myDate = new DateTime();
   string us = myDate.ToString(new CultureInfo("en-US"));

string us get 값 =1/1/0001 오전 12:00:00

여기서 "dd/mm/yyyy"와 "24.00hrs"를 추출하려면 어떻게 해야 합니까?내 표의 날짜 형식 열에서...dd/mm/yyyy 또는 mm/dd/yyyy가 아닌 날짜와 같은 문자열을 저장하고 싶습니다.표의 내 시간 형식 열에서 저장할 값도 문자열입니다. 예를 들어 "24:00hrs" 또는 "12:00hrs"를 저장해야 합니다.

이거 어떻게 해야 돼요?

**ShortTimePattern을 사용하면 다음과 같이 값이 반환됩니다.

h:mm tt and HH:mm

값을 "24:00hrs" 및 "12:00hrs"로 정확히 DB에 저장하려면 이 값을 어떻게 사용해야 합니까?h:mm tt 및 HH:mm 중 24시간 형식에 해당하는 것과 12시간 형식에 해당하는 것은 무엇입니까?**

좋아요, 이제 또 다른 문제가 있어요...CultureInfo에 기반한 소수 구분자와 천 구분자에 대한 정보도 원합니다...그것을 위한 재산은 무엇입니까?

에서 형식 문자열을 검색할 수 있습니다.CultureInfo DateTimeFormat속성, 즉 인스턴스입니다.이것은 차례로 다음과 같은 특성을 가집니다.ShortDatePattern그리고.ShortTimePattern형식 문자열 포함:

CultureInfo us = new CultureInfo("en-US");
string shortUsDateFormatString = us.DateTimeFormat.ShortDatePattern;
string shortUsTimeFormatString = us.DateTimeFormat.ShortTimePattern;

CultureInfo uk = new CultureInfo("en-GB");
string shortUkDateFormatString = uk.DateTimeFormat.ShortDatePattern;
string shortUkTimeFormatString = uk.DateTimeFormat.ShortTimePattern;

단순히 다음을 사용하여 날짜/시간 형식을 지정하려는 경우CultureInfo그것을 당신의 것으로 전합니다.IFormatter변환할 때DateTime다음 방법을 사용하여 문자열로 이동합니다.

string us = myDate.ToString(new CultureInfo("en-US"));
string uk = myDate.ToString(new CultureInfo("en-GB"));

이것이 도움이 될 수 있습니다.

string us = DateTime.Now.Date.ToString("MM/dd/yyyy",new CultureInfo("en-US"));

또는

 string us = DateTime.Now.Date.ToString("dd/MM/yyyy",new CultureInfo("en-GB"));

문화별 형식이 포함된 DateTimeFormat 속성을 볼 수 있습니다.

MSDN에서 다음과 같은 CultureInfo를 사용합니다.

// Creates a CultureInfo for German in Germany.
CultureInfo ci = new CultureInfo("de-DE");

// Displays dt, formatted using the CultureInfo
Console.WriteLine(dt.ToString(ci));

MSDN에 대한 추가 정보.여기 모든 다른 문화들의 연결고리가 있습니다.

사용자 지정 설정 시도CultureInfo위해서CurrentCulture그리고.CurrentUICulture:

Globalization.CultureInfo customCulture = new Globalization.CultureInfo("en-US", true);

customCulture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd h:mm tt";

System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
System.Threading.Thread.CurrentThread.CurrentUICulture = customCulture;

DateTime newDate = System.Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd h:mm tt"));

그리드 보기에서 특정 셀에 대해 배양을 변경할 수 있습니다.

<%# DateTime.ParseExact(Eval("contractdate", "{0}"), "MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture).ToString("dd/MM/yyyy", System.Globalization.CultureInfo.CurrentCulture) %>

자세한 내용은 링크를 참조하십시오.

#eval()로 바인딩된 Gridview의 날짜 형식 문제

언급URL : https://stackoverflow.com/questions/4353232/how-can-i-get-date-and-time-formats-based-on-culture-info

반응형