2010-08-18 17 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 

Wie ist das möglich? Oder auf andere Weise.Datetime Format für einen Monat und Jahr

+0

Möchten Sie einfach das Datum für die Anzeige formatieren oder werden Sie Datumsvergleiche für ein Ablaufdatum durchführen? –

Antwort

11

Ein DateTime Wert weiß nichts über ein Format - es ist nur ein Datum und eine Zeit.

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

... aber wie die „gerettet“ wird, sind ganz bei Ihnen: Sie können einen neuen DateTime Wert mit den relevanten Informationen erstellen. Wenn Sie uns mehr Informationen geben, können wir Ihnen vielleicht mehr helfen. Sie können es leicht zu einer Zeichenkette formatieren:

... aber das ist vielleicht nicht das, wonach Sie suchen.

0

Sie müssen diesen Wert entweder als , wo Sie tun können, was immer Sie wollen, oder eine datetime speichern. Der Unterschied besteht darin, dass das Format datetime erfordert, dass Sie den Tag angeben und die Uhrzeit auf Mitternacht eingestellt wird. Der Wert 1 für den ersten Tag des Monats sollte hier berücksichtigt werden.

3

Sie könnten speichern sie in einem DateTime- wie folgt:

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

Wenn es für eine Kreditkarte Ablaufdatum ist, stellen Sie sicher, dass der Tag der letzte Tag des Monats ist oder sie den Tag nicht vergleichen. Sie können einige Abweichungen am letzten Tag sein oder nicht. Es sollte immer noch gültig sein, also stellen Sie sicher, dass das aktuelle Datum mindestens einen Tag größer ist.

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

Willkommen bei SO. Bitte geben Sie Ihre Antwort mit einem Kontext an, da reine Code-Antworten die SO-Standards nicht erfüllen: http://stackoverflow.com/help/how-to-answer –

Verwandte Themen