가지고있는 문자열이 파싱되지 않아 기본값을 얻고 있습니다. 이유 중 하나는 날짜 문자열에있는 a.m입니다. 현재 thread Culture 설정에도 따라 다릅니다. TryParseExact을 사용하여 DateTime 문자열에있는 형식을 CulureInfo과 함께 사용할 수도 있습니다. 나는 위의 예에서 'a.m'와 함께했던 것처럼 당신이 a.m 대신이시의이
DateTime.TryParseExact(dateTime, "yyyy-MM-dd hh:mm:ss 'a.m'", CultureInfo.InvariantCulture,DateTimeStyles.None, out value);
참고 탈출합니다.
p.m과 그 이상의 작업을 수행 할 수는 있습니다. 점을 빈 문자열로 대체하여 a.m
을 am
으로, p.m
을 pm
으로 변경하여 Custom Date and Time Format Stringstt
을 am/pm으로 사용할 수 있습니다. am
또는 pm
사이에 하나의 점만 있다고 가정합니다.
string dateTime = "2017-04-05 05:00:00 a.m";
dateTime = dateTime.Replace(".", "");
DateTime value = DateTime.MinValue;
DateTime.TryParseExact(dateTime, "yyyy-MM-dd hh:mm:ss tt", CultureInfo.InvariantCulture,DateTimeStyles.None, out value);
, 관련 객체와 함께이 속성에서 반환되는 Thread.CurrentCulture
CultureInfo를 객체, 의 영향에 대해 자세히 알아보기 날짜, 시간, 숫자, 통화 값에 대한 기본 형식을 결정 , 텍스트의 정렬 순서, 대소 문자 변환 및 문자열 비교. culture 이름 및 식별자, 불변, 중립 및 특정 문화권 간의 차이점 및 culture 정보가 스레드 및 응용 프로그램 도메인에 미치는 영향에 대해 CultureInfo 클래스에서 을 참조하십시오. 스레드의 기본 문화권이 결정되는 방법과 사용자가 컴퓨터에 대한 문화권 정보를 설정하는 방법을 배우려면 CultureInfo.CurrentCulture 속성을 참조하십시오.
이 TryParse의 반환 값을 확인,이 이야기 할 수 너 실패했다. – BugFinder
아무 것도 반환하지 않습니다. 1/1/0001 12:00:00 AM이 값 – Meena
에'TryParseExact'를 사용해 보았습니까? –