IT Share you

ASP.NET에서 날짜 형식을 전역 적으로 어떻게 설정합니까?

shareyou 2021. 1. 9. 10:53
반응형

ASP.NET에서 날짜 형식을 전역 적으로 어떻게 설정합니까?


ASP.NET에서 날짜 형식을 전역 적으로 어떻게 설정합니까?

내 로컬 컴퓨터와 서버에는 지역 설정이 "영어 (뉴질랜드)"로 설정되어 있습니다.

예를 들어 오늘을 dd/MM/yyyy기대 하면서 날짜를 포맷 할 때 19/11/2008.

최근까지 내가 실제로 로컬 머신과 서버에서 얻은 것입니다.

최근에, 어떤 신비한 이유로 우리의 로컬 머신이 아주 약간 변경되었습니다. 아직도 "영어 (뉴질랜드)"로 설정에도 불구하고, 날짜 delimter이 변경되었습니다 /-! 여전히 "영어 (뉴질랜드)"가 표시되는 서버와 /날짜 구분자에 대해 동일한 변경이 발생하지 않았습니다.

그래서 지금 내 로컬 컴퓨터를 들어, 형식 dd/MM/yyyyI 얻을 19-11-2008대신 19/11/2008.

이것은 약간 당황 스럽습니다.

지금까지 볼 수있는 유일한 방법은 슬래시를 이스케이프하고 형식을로 설정하는 것입니다 dd\/MM\/yyyy. 작동하는 것 같지만 이상적인 솔루션은 아닌 것 같습니다.

누구든지 도와 주시겠습니까?

참고 : 이것은 인트라넷 응용 프로그램을위한 것이며 진정한 세계화에는 관심이 없습니다. 날짜 형식을 수정하고 변경하지 않고 싶습니다.


Global.asax 파일에서 현재 스레드 문화를 변경하고 날짜 형식을 재정의 할 수 있습니다. 예를 들면 다음과 같습니다.

using System.Globalization;
using System.Threading;

//...
protected void Application_BeginRequest(Object sender, EventArgs e)
{    
  CultureInfo newCulture = (CultureInfo) System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
  newCulture.DateTimeFormat.ShortDatePattern = "dd-MMM-yyyy";
  newCulture.DateTimeFormat.DateSeparator = "-";
  Thread.CurrentThread.CurrentCulture = newCulture;
}

web.config 에서 다음 문서에 따라 태그를 설정 하십시오.

<system.web>
    <globalization  culture="en-NZ"  uiCulture="en-NZ"/>
</system.web>

좋은 방법은 Web.Config를 구성하는 것입니다. 날짜 형식은 aspx의 모든 구성 요소에 나타납니다.

<system.web>    
<globalization uiCulture="en" culture="en-NZ" />
</system.web>

조작없이 문화를 설정할 수 있습니다.


using System.Globalization;
using System.Threading;

//... protected void Application_BeginRequest(Object sender, EventArgs e) {
Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-NZ"); }


It is an old post, but I thought it might be useful to mention it here, my problem was something like what the OP has asked, but the solution was that the culture was changed in the IIS, not from control panel.

IIS has it is own culture selection, which by default will follow the local computer culture. But for some reason, it was changed to a different culture, and I started getting those weird date formats.

You can look for more answers here.


For format strings, the format character / does not actually resolve to the literal "/" as you would expect. Instead, it resolves to the current date time separator as configured in your regional settings. Try changing the DateTimeFormatInfo.DateSeparator property.

For more information, see: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

ReferenceURL : https://stackoverflow.com/questions/300841/how-do-you-globally-set-the-date-format-in-asp-net

반응형