DateTime.ParseExact 방법 에 대한 자세 한 설명

매개 변 수 는 CultureInfo.CurrentCulture 가 현재 스 레 드 의 지역 정 보 를 가 져 오 는 것 을 설명 합 니 다.DateTimeFormat 날짜 표시 형식(날짜 구분자)과 NumberFormat 화 폐 를 포함 합 니 다.시험 예:1.시간 에 분할 자 를 사용 하지 않 은 경우:

string  temp = "18991230" ;
DateTime dateTemp = DateTime.ParseExact(temp, "yyyyMMdd", CultureInfo.CurrentCulture, DateTimeStyles.None);
2.시간 에 분할 자 를 사용 하 는 경우:

string  temp = "1899-12-30" ;
DateTime dateTemp = DateTime.ParseExact(temp, "yyyy-MM-dd", CultureInfo.CurrentCulture, DateTimeStyles.None);
DateTime dateTemp = DateTime.ParseExact(temp, "yyyy/MM/dd", CultureInfo.CurrentCulture, DateTimeStyles.None);
모두 정확 합 니 다.원인:CultureInfo.Current Culture 에서 현재 스 레 드 의 CultureInfo 의 DateTimeFormat 속성 을 IFormat Provider 로 가 져 온 다음 DateTimeParse.ParseByFormat 방법 에서 format 매개 변수/문 자 를 만 났 을 때,날짜 문자열 을 입력 한 현재 문자 가 현재 DateTimeFormat Info 의 DateSeperator 인지 비교 합 니 다.만약 그렇다면 true 로 돌아 갑 니 다.즉,변환 을 허용 합 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.현재 스 레 드 의 지역 정보 에서 날짜 구분자 가-이 므 로 변환 에 성공 할 수 있 습 니 다.분할 문자 가 있 는 경우 다음 방법 을 사용 하 는 것 이 좋 습 니 다.

string  temp = "1899-12-30" ;
DateTimeFormatInfo dtfi = new CultureInfo("zh-CN", false).DateTimeFormat;
DateTime dateTemp =  DateTime.ParseExact(temp "yyyy-MM-dd", dtfi, DateTimeStyles.None) ;  //

좋은 웹페이지 즐겨찾기