문자열이 유효한 날짜인지 여부를 확인하기 위해 나는 다음과 같은 방법이 유효한 날짜로 인식되지 않았습니다C#을 문자열은
"12/31/2013 12:00:00 AM"이런 일이 왜 이해할 수 없다
:이 같은 문자열을 전달하려고 할 때마다 붙 잡았다. 누군가 제가이 문제를 해결하도록 도와 줄 수 있습니까?
문자열이 유효한 날짜인지 여부를 확인하기 위해 나는 다음과 같은 방법이 유효한 날짜로 인식되지 않았습니다C#을 문자열은
"12/31/2013 12:00:00 AM"이런 일이 왜 이해할 수 없다
:이 같은 문자열을 전달하려고 할 때마다 붙 잡았다. 누군가 제가이 문제를 해결하도록 도와 줄 수 있습니까?
대부분의 경우 현재 culture 설정이 날짜에서 제공되는 형식과 다른 명시 적 문화를 지정하려고 할 수 있습니다.
대신 try/catch 블록의CultureInfo culture = new CultureInfo("en-US"); // or whatever culture you want
Convert.ToDateTime(date, culture);
감사합니다 Andrei :) 어느 것이 원하는 결과를 얻는 지 조금만 실험하고 있습니다. 감사합니다 :) – Matthew
감사 Andrei :) 나는 다음과 같이 날짜를 포맷 : DateTime 날짜 = (DateTime) DatePicker_ExpiryDate.Value; 문자열 expiry_date = date.ToString ("yyyy-MM-dd HH : mm : ss"); 이제 완벽하게 작동합니다. – Matthew
@Matthew, 날짜의 정확한 형식을 지정하는 것이 가능한 다른 방법입니다. 그러나 여전히 문화 설정을 확인하는 것이 좋습니다. 처음에는 코드가 작동하지 않는 것이 이상합니다. – Andrei
의에서 TryParse 방법 내장 시도 DateTime 클래스 문자열을 매개 변수로 사용하고 성공적으로 변환하면 "result"변수에 값을 배치합니다. 부울 값이 작동하는지 여부를 나타내는 부울 값을 반환합니다.
public bool isDate(string date)
{
var result = new DateTime();
return DateTime.TryParse(date, out result);
}
또한 날짜가 특정 형식이 있는지 확인하기 위해 (here 더 볼, 예. MM/dd/yy H:mm:ss zzz
) DateTime.TryParseExact
를 사용하고 형식 문자열을 전달할 수 있습니다.
['DateTime.TryParse'] (http://msdn.microsoft.com/en-us/library/ch92fbc1.aspx)의 문제점은 무엇입니까? –