一个月和一年的日期时间格式

时间:2010-08-18 15:24:39

标签: c# asp.net

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

这怎么可能。或任何其他方式。

4 个答案:

答案 0 :(得分:13)

DateTime值不知道格式 - 它只是一个日期和时间。您可以使用相关信息创建新的DateTime值:

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

...但是如何“保存”完全取决于你。如果您向我们提供更多信息,我们可能会为您提供更多帮助。您可以轻松地将其格式化为字符串:

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

......但这可能不是你想要的。

答案 1 :(得分:3)

您可以将其存储在DateTime中,如下所示:

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

如果是信用卡到期日,请确保该日是该月的最后一天或不比较当天。他们可能在过期的最后一天有些不一致。它应该仍然有效,因此请确保当前日期至少增加一天。

答案 2 :(得分:0)

您需要将此值保存为nvarchar,您可以在其中执行任何操作,或datetime。不同之处在于datetime格式要求您提供,时间设置为午夜。应在此处考虑该月第一天的值1.

答案 3 :(得分: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 ");
        }