1

TextBoxとExtenderAjaxCalanderがあります。日付が選択されている場合、TextBoxに月と年のみが表示されます。私のコードは以下の通りです

 <asp:TextBox ID="txtCardExpiry" runat="server" Width="200px" /><span> MMYY</span>
 <ajaxToolkit:CalendarExtender runat="server" Format="MMyy" TargetControlID="txtCardExpiry" />

クレジットカードの有効期限が切れていないかどうかを確認したい

今、私txtCardExpiry.Textが今日の月と年だけと比較する方法

今私は使用しています

 int dtNowYear = Convert.ToInt16(DateTime.Now.Year.ToString().Substring(2, 2));
            int dtNowMonth = Convert.ToInt16(DateTime.Now.Month.ToString());
            int dtExpYear = Convert.ToInt16(txtCardExpiry.Text.Substring(2, 2));
            int dtExpMonth = Convert.ToInt16(txtCardExpiry.Text.Substring(0, 2));

            if (dtNowYear == dtExpYear && dtNowMonth > dtExpMonth)
            {
                lblMessage.Attributes.Add("class", "lblMessageError");
                lblMessage.Text =
                    "Credit Card expiry month and year cannot be less than todays month and year or your Credit Card has expired";
                return false;
            }
                 else if (dtNowYear > dtExpYear) 
                {
                    if (dtNowMonth > dtExpMonth)
                    {
                        lblMessage.Attributes.Add("class", "lblMessageError");
                        lblMessage.Text =
                            "Credit Card expiry month and year cannot be less than todays month and year or your Credit Card has expired";
                        return false;
                    }
                    return false;
                } 
4

1 に答える 1

6

試す

txtCardExpiry.Text.Compare(DateTime.Now.ToString("MMyyyy"))

カスタムの日付と時刻の書式文字 列 言うまでもなく、MSDN は非常に役に立ちます。

于 2012-05-04T06:45:13.133 に答える