2012-11-02 7 views
-1

... 사람이 다음과 같은 날짜 문자열 형식을 포맷하는 가장 좋은 방법에 대한 조언을 수C#을 날짜/시간 형식

내가 SQL에 저장할 수있는 뭔가를

9월 22일 (토)

날짜/시간 등의 서버 ... 형식을 사용하여

같은 YYYY/MM/DD

나는 코드에서이 작업을 수행하지만 XML의 수백을 읽고있다하는 것은 할 방법하지 않도록 추출 할 수 이 접근법.

+1

어떻게 당신은'9월 (토) 22'에 무엇을 해 알 수 있습니까? 그 해가 현재 (2012) 년도라고 가정합니까? –

+0

예, @ davehale23의 답변에 대한 내 의견을 참조하십시오. DOW가 현재 연도와 일치하지 않으면 오류가 발생합니다. – McArthey

+0

SQL Server는 그것을 사용하는'DateTime' 구조를 지원합니다. –

답변

3

사용할 수 있습니다. DateTime.Parse()here 정보를 참조하십시오. 하지만, 어딘가에 1 년 있어야합니다.

DateTime convertedDate = DateTime.Parse("Sat, Sep 22 2012"); 

편집 : 당신은 당신이 다루고있는 몇 년도 알고있는 경우에 우리는 확실하지 않다 때문에

, 난 당신이 뭔가를 사용할 수있는 제안 :

Int32 thisYear = DateTime.Now.Year; 
string aDate = "Sat, Sep 22"; 
DateTime outDate; 
while (!DateTime.TryParse(aDate + " " + thisYear.ToString(), out outDate))   
    thisYear--; 

이 얻을 것이다 설명에 맞는 가장 최근 연도의 DateTime입니다. aDate "Fri, Sep 22"을 사용하려고하면 결과는 "2006/9/22"가됩니다. 그냥 '올해를'사용하려는 경우

또는, 당신은이를 사용할 수 있습니다 : 이것은 올해없이 구문 분석

String[] myDate = ("Fri, Sep 22").Split(','); 
DateTime convertedDate = DateTime.Parse(myDate[1].ToString()); 
+0

DateTime.Parse()에는 날짜가 필요하지 않습니다. 포스터가 제공 한 입력을 받아 현재 년도로 가정합니다. – McArthey

+0

나는 요일을 기준으로 해를 결정하는 데 "똑똑"하지만 2011 년에 "Sat, Sep 24"를 시도하면 오류가 발생하기를 기대했다. String은 유효한 DateTime으로 인식되지 않았다. 요일이 잘못되었습니다. – McArthey

+0

@McArthey, 방금 IDE에서 시도해 보았습니다. 당신이 정말 맞습니다! 나는 매일 새로운 것을 배운다. 나는 그것이 현재의 해를 가정 할 것임을 몰랐다. – davehale23

2
DateTime result; 
DateTime.TryParse("Sat, Sep 22", out result); 
Response.Write(result.ToString("yyyy/M/dd")); 

. 이 경우 출력은 "2012/9/22"입니다.

+0

시도해 보았지만 '0001/1/01'과 같은 값을 부여했습니다. – leeb898

+0

@ leeb898 - 새로운 정보로 질문을 업데이트하십시오. –

+0

http://msdn.microsoft.com/en-us/library/ch92fbc1(v=vs.90).aspx. 이 메서드가 반환되면 변환에 성공하면 s에 포함 된 날짜와 시간에 해당하는 DateTime 값이 포함되고 변환에 실패하면 DateTime.MinValue가 포함됩니다. s 매개 변수가 null이거나 빈 문자열 ("")이거나 날짜 및 시간의 유효한 문자열 표현이 포함되어 있지 않으면 변환이 실패합니다. – McArthey

1

SQL Server는 일부 특정 날짜 형식을 지원합니다. yyyy-MM-dd 형식을 사용할 수 있습니다. 다음 코드를 확인하십시오.

string dt = DateTime.Now.ToString("yyyy-MM-dd"); 

날짜 저장 방법에 대해 걱정할 필요가 없습니다. 원하는 형식으로 날짜를 표시 할 수 있으며 .Net뿐만 아니라 SQL Server에서도 날짜를 표시 할 수 있습니다.

see reference