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

Cómo es esto posible. O de cualquier otra manera.Formato de fecha y hora para un mes y año

+0

¿Estás simplemente queriendo formatear la fecha para mostrar o vas a estar haciendo comparaciones de fechas para una fecha de vencimiento? –

Respuesta

11

Un valor de DateTime no conoce un formato, es solo una fecha y una hora. Puede crear un nuevo valor DateTime con la información relevante:

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

... pero ¿que es "salvo" es totalmente de usted. Si nos brinda más información, podremos ayudarlo más. Puede formatearlo en una cadena con la suficiente facilidad:

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

... pero eso puede no ser lo que está buscando.

0

Deberá guardar este valor como nvarchar, donde podrá hacer lo que desee, o datetime. La diferencia es que el formato datetime requiere que proporcione el día, y la hora se establece en medianoche. El valor 1, para el primer día del mes se debe considerar aquí.

3

Se puede almacenar en un DateTime de la siguiente manera:

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

Si es para una fecha de caducidad de la tarjeta de crédito, asegúrese de que el día es el último día del mes o no comparar el día. Puede haber algunas discrepancias en el último día de vencimiento o no. Debería seguir siendo válido, así que asegúrese de que la fecha actual sea al menos un día mayor.

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

Bienvenido a SO. Proporcione su respuesta con algún contexto, ya que las respuestas de solo código no cumplen con los estándares SO: http://stackoverflow.com/help/how-to- answer –

Cuestiones relacionadas