2011-03-08 4 views
0

내가 가지고있는 문자열은 ISO 8601이며 MySql 테이블에 삽입하려고합니다. 테이블에 날짜가 잘 걸리지 만 시간을 인식하지 못합니다.C# mysql insert 명령과 ISO 8601 변환 시간 문자열

문자열 myTime = "3/8/2011 5:36:54 PM"(ISO 8601 형식). string mytimeFormat = myTime.ToString ("yyyy-MM-dd HH : MM : SS");

그리고 mysql 문에 기본 삽입. MySql 테이블은 시간이 아닌 날짜를 정확하게 표시합니다. 어떤 팁?

mytimeFormat 문자열을 사용하여 변환하면 '2011-03-08 17:36:54'와 유사합니다. 여기서 MySql은 날짜가 아닌 시간을 허용합니다.

+0

"3/8/2011 5:36:54 PM"은 ISO 8601에 없습니다. –

+0

해당 형식의 위키는 완전히 다른 것을 가지고 있습니다. http://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations –

+1

필드 유형이 'DATETIME'입니까? 또는 단지 'DATE'. –

답변

0

먼저 문자열을 DateTime으로 변환해야 포맷이 제대로 완료 될 수 있습니다.

string myTime = "3/8/2011 5:36:54 PM"; //(this comes in ISO 8601 format). 
DateTime myDateTime = DateTime.Parse(myTime); 
string mytimeFormat = myDateTime.ToString("yyyy-MM-dd HH:MM:SS"); 

업데이트는 :

myDateTime.ToString("yyyy-MM-dd HH:mm:SS") 
+0

mysql은 현재의 날짜를 그대로 사용합니다. –

+0

단일 시점 (시점)을 나타내는 날짜와 시간 표현을 결합하는 것은 매우 간단합니다. T

0

당신이 당신의 포맷 스트링의 경우를 볼 수 있는지 확인합니다 : 형식에서는 대문자 M는 분을 얻기 위해 소문자 m을 사용, 월 자리 표시 자입니다. DateTime 개체에서 ToString을 사용하여 확인 경우 사용 : 당신은 또한 어떤 당신이 실제로 있으며, toString의 출력을 확인하기 전에 노력하고있는 구문 분석을 확인 할 수 있습니다

myDateTime.ToString("yyyy-MM-dd hh:mm:ss"); 

.