2014-07-08 3 views
0

datetime을 확인하는 메소드가 있습니다. tryParse를 사용하여이를 확인합니다. 문제는 내 컴퓨터에서 dd/mm/yyyy 형식의 날짜를 확인할 때 true를 반환합니다. mm/dd/yyyy 형식의 컴퓨터는 false를 반환합니다.TryParse는 컴퓨터에 따라 true 또는 false를 반환합니다.

어떻게 관리 할 수 ​​있습니까?

verifiyDate(String date) 
    { 
     DateTime temp; 
     if (DateTime.TryParse(date.Trim(), out temp)) 
     { 
      return true; 
     } 
     return false; 
    } 
+0

문제는 다른 컴퓨터에서는 형식을 변경할 수있는 권한이없는 서버이기 때문에 형식을 변경할 수 없다는 것입니다. – user3816931

+0

음, 컴퓨터라고 생각하지 않습니다. 다른 형식을 사용 중입니다. – mclaassen

+1

http://stackoverflow.com/questions/4718960/datetime-tryparse-issue-with-dates-of-yyyy-dd-mm-format – andleer

답변

1

당신은 말을 이런 식으로 뭔가 :

public static DateTime? ConvertToDate(this string s) 
{ 
    const string requiredFormat = @"dd/MM/yyyy" ; 
    DateTimeStyles style   = DateTimeStyles.AllowLeadingWhite 
           | DateTimeStyles.AllowTrailingWhite 
           ; 
    DateTime  converted  ; 
    bool   parsed   = DateTime.TryParseExact(
            s , 
            requiredFormat , 
            CultureInfo.InvariantCulture , 
            style , 
            out converted 
            ) ; 
    DateTime?  value   = parsed ? converted : (DateTime?)null ; 

    return value ; 
} 

값을 변환 할 수없는 경우 변환 된 값 또는 null을 들고 당신에게 DateTime를 제공해야합니다.

+0

이 C# 용입니까? – user3816931

+0

@ user3816931 - 확실히 C#이지만 스타일은 다소 틀립니다. 또한 컴파일되지 않지만 메모리에서 입력 된 것처럼 보입니다. – ChaosPandion

+0

@ChaosPandion : 오타가 수정되었습니다. 레이아웃은 SO의 좁은 페이지 너비를 고려하여 사람의 이해와 수평 스크롤을 피하기 위해 설계되었습니다. –

관련 문제