문제

어떤 이유로, 내 서버의 asp.net 코드는 이제 형식을 반환하고 있습니다. DD/mm/yyyy 대신에 mm/dd/yyyy 내가 사용할 때 datetime.tostring ( "G").

모든 "g"형식 문자열을 구체적인 형식의 문자열 또는 CultureInfo 인수로 바꾸는 대신, 기본 "짧은 날짜"형식을 응용 프로그램에서 무시할 수있는 방법이 있습니까?

내가 선호하는 것은 실제로 기본 형식으로 "YYYY-MM-DD"이지만 모든 사용자가 미국에있는 것처럼 미국 중심 MM/DD/YYYY와 함께 살 수 있습니다.

설명: 나는 전체 기본 문화를 바꾸고 싶지 않으며, 이는 통화 및 소수/쉼표 사용과 같은 것들에 영향을 줄 수 있습니다.

ISO/IEC 8824 날짜 형식 ( "YYYY-MM-DD")을 사용하려면 TOSTRING ( "G") 호출을 무시하고 싶습니다.

모든 Tostring () 호출에서 CultureInfo를 강요하기 위해 코드를 검색하고 교체 할 수 있지만 가장 관리 가능한 솔루션으로 나를 공격하지는 않습니다.

현재 솔루션은 날짜를 형식화하기위한 정적 메소드를 정의했으며 전체 코드베이스에서 toString () 대신 호출한다는 것입니다. 그러나 다시, 코드 어딘가에 그렇게하는 것을 잊어 버리면 다시 구피 데이트를 할 것입니다.

도움이 되었습니까?

해결책 2

문화를 설정하는 것은 옵션이 아니었고 서버의 지역 설정에 의존하지도 않았습니다.

결국 날짜 서식을위한 유틸리티 기능을 작성했습니다.

Public Shared Function FormatShortDate(ByVal d As Date) As String
    If d=#1/1/0001# Then Return ""
    If d=#1/1/1900# Then Return ""
    'ISO/IEC 8824 date format
    Return d.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)
End Function

나는 날짜를 사용자에게 밀어내는 데 필요한 모든 곳에서 이것을 부릅니다. 또한 기본값 ( "Magic") 날짜 표시를 처리합니다.

나는 비슷한 기능과 형식의 형식과 형식을 작성했습니다.

다른 팁

Web.config (응용 프로그램 레벨), 페이지 지시문 또는 제어 지침에서 기본 문화를 설정할 수 있습니다.

마스터 페이지가 다른 문화를 위해 설정되는 다양한 앱이 있으며 페이지와 컨트롤은 거기에서 상속됩니다.

서버의 제어판의 지역 설정에서 설정을 변경하여 짧은 날짜 형식을 조작 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top