2010-08-18 7 views
6
DateTime ExpMonth = Convert.ToInt32(ddExpMonth); ---- DropDown(user selects a month) 
DateTime ExpYear = Convert.ToInt32(ddExpYear); ---- Dropdown(user selects year) 

Datetime ExpDate = ///// I want this part to be saved as Datetime 02/2012 

어떻게 가능합니까? 또는 다른 방법.한 달과 년의 날짜/시간 형식

+0

단순히 표시 할 날짜 형식을 지정 하시겠습니까? 만료 날짜에 대해 날짜 비교를 수행 하시겠습니까? –

답변

11

DateTime 값은 형식에 대해 알지 못합니다. 단지 날짜와 시간 일뿐입니다. 당신은 관련 정보를 사용하여 새 DateTime 값을 만들 수 있습니다

DateTime expiry = new DateTime(Convert.ToInt32(ddExpYear), 
           Convert.ToInt32(ddExpMonth), 
           1); 

...하지만이 "저장"하는 방법을 전적으로 당신에게 달렸다. 더 많은 정보를 주시면 더 많은 도움을 드릴 수 있습니다. 쉽게 문자열로 서식을 지정할 수 있습니다.

string formatted = expiry.ToString("yyyy/MM"); 

...하지만 그 이후의 내용은 다를 수 있습니다.

0

이 값을 nvarchar으로 저장해야합니다. 원하는대로 할 수 있으며 datetime으로 저장해야합니다. 차이점은 datetime 형식으로 을 제공해야하며 시간은 자정으로 설정해야합니다. 한 달의 첫날에 대한 값 1을 여기에서 고려해야합니다. 다음과 같이

3

당신은 날짜 시간에 저장할 수 :

DateTime expDate = new DateTime(ExpYear, ExpMonth, 1).AddMonths(1).AddDays(-1); 

그것을 신용 카드 만료 날짜의 경우, 날이 달의 마지막 날이거나 하루 비교하지 않습니다 있는지 확인하십시오. 마지막 날의 일부 불일치가 만료 될 수도 있고 그렇지 않을 수도 있습니다. 유효해야하므로 현재 날짜가 적어도 하루 더 커야합니다.

0
 DateTime Today = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(1).AddDays(-1); 
     DateTime cc = new DateTime(2016, 9, 1).AddMonths(1).AddDays(-1); 

     Console.WriteLine(Today.ToString()); 
     Console.WriteLine(cc.ToString()); 


     if (Today <= cc) 
     { 
      Console.WriteLine("Ok"); 
     } 
     else 
     { 
      Console.WriteLine("Card Expiry Date is not valid "); 
     } 
+0

안녕하세요. 코드 만 사용하면 SO 표준을 충족시키지 못하기 때문에 상황에 맞는 답을 제공하십시오. http://stackoverflow.com/help/how-to-answer –

관련 문제