2013-08-21 2 views
1

문자열을 구문 분석 :vb.NET (ASPX 페이지에 대한) :이 선 작업 만들려고 날짜

MyDateTime = DateTime.ParseExact("2/8/2013 11:59:00 AM", "yyyy-mm-dd hh:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo) 

나는 위의 형식으로 스프레드 시트에서 date/time 문자열을 받고 있어요, 그리고 I 그걸 통제 할 수는 없어. 이 도움의 톤은 날짜에 문자열을 변환하는 방법에 대한이 사이트를 포함하여, 온라인, 그리고 나는 그들 모두를 시도했지만,이 오류가 점점 계속 :

"System.FormatException: String was not recognized as a valid DateTime." 

I "m 쓸 단지에 대한 준비가 내 자신의 사용자 정의 파서는,하지만 매우 우아하지 않는 것 같습니다. 내가 어떤 도움을?

감사를 필요로하는 date/time 형식으로 내 같은 문자열을 변환하는 몇 가지 기본 방법이 있나요.

답변

1

형식 문자열이 잘못되었습니다. d/M/yyyy hh:mm:ss tt 형식으로 날짜를 입력하고 있지만 날짜는 yyyy-mm-dd hh:mm:ss 형식이어야합니다. 두 개가 정확히 일치하지 않으므로 DateTime.ParseExact이 예외를 던지고 있습니다.

시도 :

MyDateTime = DateTime.ParseExact("2/8/2013 11:59:00 AM", "d/M/yyyy hh:mm:ss tt", System.Globalization.DateTimeFormatInfo.InvariantInfo) 

이 다음과 같은 문자를 기대할 수를 알려줍니다

Integer from 1 through 31 (depending on the length of the month) 
/character 
Integer from 1 through 12 
/character 
4 digit year 
Space 
Integer from 1 through 12 
: character 
Integer from 00 through 59 
: character 
Integer from 00 through 59 
Space 
Two character meridian specifier ("AM" or "PM") 

날짜 시간 형식 문자열에 대한 추가 정보를 원하시면, 당신의 대답을 this MSDN page

+0

Doggon, 두 개의 다른 웹 사이트에서 ParseEstract 함수의 지침을 읽고 두 번 잘못 읽었습니다. 내 잘못, 대답은 나를 쳐다보고 있었다. 감사. – Stanton

+0

@Stanton 문제가 없습니다. 우리 모두 실수를 저지른다 : D – Adrian

0

내가 변경할 필요가 있다고 생각 당신이 전달하는 것과 일치하는 문자열 형식. 당신은 다음과 같이 더 많은 것을 전달하는 것처럼 보입니다 :

"d/M/yyyy hh:mm:ss" 

시도해보고 작동 방식을 확인하십시오. 월에는 MM을 사용해야합니다. 'mm'은 분으로 사용됩니다.

+0

감사를 확인하시기 바랍니다. 나는 바보입니다 (위의 주석 참조). – Stanton

관련 문제