문제

날짜 형식 설명자를 현지화하는 가장 좋은 방법은 무엇입니까?

mm/dd/yyyy 형식을 사용하지 않는 문화권의 사람이라면 누구나 알듯이 이 형식으로 날짜를 입력해야 한다는 것은 성가신 일입니다..NET 프레임워크는 매우 우수한 지역화 지원을 제공하므로 사용자 문화에 따라 날짜를 구문 분석하는 것은 쉽지 않습니다. 그러나 필요한 형식에 대한 유용한 힌트도 표시하려는 경우가 많습니다(특히 yy와 yyyy를 구별하기 위해). 대부분의 문화).

대부분의 사용자가 이해할 수 있는 방식으로 이를 수행하는 가장 좋은 방법은 무엇입니까(예:dd/M/yyy는 대소문자 변경과 한 글자와 두 글자 사이의 전환으로 인해 혼란스럽습니다.

도움이 되었습니까?

해결책 3

내 현재 방법은 다음과 같습니다.어떤 제안이 있으십니까?

Regex singleMToDoubleRegex = new Regex("(?<!m)m(?!m)");
Regex singleDToDoubleRegex = new Regex("(?<!d)d(?!d)");
CultureInfo currentCulture = CultureInfo.CurrentUICulture;

// If the culture is netural there is no date pattern to use, so use the default.
if (currentCulture.IsNeutralCulture)
{
    currentCulture = CultureInfo.InvariantCulture;
}

// Massage the format into a more general user friendly form.
string shortDatePattern = CultureInfo.CurrentUICulture.DateTimeFormat.ShortDatePattern.ToLower();
shortDatePattern = singleMToDoubleRegex.Replace(shortDatePattern, "mm");
shortDatePattern = singleDToDoubleRegex.Replace(shortDatePattern, "dd");

다른 팁

ISO-8601을 사용하세요..국제표준입니다.

Date and time (current at page generation) expressed according to ISO 8601:
Date:                           2014-07-05
Combined date and time in UTC:  2014-07-05T04:00:25+00:00
                                2014-07-05T04:00:25Z
Week:                           2014-W27
Date with week number:          2014-W27-6
Ordinal date:                   2014-186

나는 OP의 '잘못된' 날짜가 내 DD/MM/YYYY 성장과 실제로 맞지 않는다는 점에 동의해야 하며 ISO 8601 날짜와 시간은 작업하기가 매우 쉽다는 것을 알았습니다.일단 표준이 제대로 맞았고 엔지니어링 현지화가 필요하지 않은 분명한 대답이 있습니다.

나는 스택 오버플로에 대한 생일 입력 양식을 버그로 보고하려고 했습니다. 왜냐하면 그것이 세계 대다수의 사람들에게 얼마나 큰 고통을 안겨주기 때문입니다.

국제 표준의 문제점은 거의 아무도 이를 사용하지 않는다는 것입니다.가능한 한 노력하지만 실생활의 거의 모든 곳에서 dd/mm/yyyy를 사용해야 합니다. 즉, 너무 익숙해서 ISO-8601을 사용하는 것이 항상 의식적인 프로세스라는 뜻입니다.ISO-8601을 사용하려고 시도조차 하지 않는 대다수의 사람들에게는 상황이 훨씬 더 나쁩니다.가능한 곳에서 국제화할 수 있다면 큰 장점이라고 생각합니다.

형식(mm/dd/yyyy 또는 dd/mm/yyyy)을 제공하고 사용자 문화권에서 오늘 날짜를 인쇄하는 것은 어떻습니까?MSDN에 대한 기사가 있습니다. 개인의 문화에 대한 DateTime 형식 지정, 이 작업을 수행하는 데 도움이 될 수 있는 CultureInfo 개체를 사용합니다.(대부분의 사람들에게 친숙한) 형식과 해당 형식으로 표시된 현재 날짜의 조합은 날짜를 입력하는 방법에 대한 충분한 단서가 됩니다.(아직도 이해하지 못하는 사람들을 위해 달력 컨트롤도 포함합니다.)

짧은 형식은 편리하며 철자 오류를 방지하는 데 도움이 됩니다.해당하는 대로 현지화하되 예상되는 형식을 표시해야 합니다(사용자가 눈이 먼 상태로 두지 마십시오).날짜 선택 컨트롤을 다음과 같이 제공합니다. 선택 과목 현장 작성을 보조합니다.

추가로 날짜를 긴 형식으로 즉시 구문 분석하고 표시하는 것도 도움이 될 수 있습니다.

최선의 선택:대신 표준 날짜 선택기를 사용하는 것이 좋습니다.

대안:편집 컨트롤의 내용이 변경될 때마다 이를 구문 분석하고 날짜의 긴 형식(예: 별도의 컨트롤에?)을 표시합니다.입력 "03/04/09" 디스플레이 "귀하의 입력:2009년 3월 4일')

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