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

你只是想格式化日期顯示或將您做比較日期爲到期日? – 2010-08-18 15:39:34

回答

11

A 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。請在某些情況下提供您的答案,因爲僅有代碼的答案不符合SO標準:http://stackoverflow.com/help/how-to-answer – 2016-09-23 14:23:12

相關問題