c# - 验证文本框中的日期

标签 c# asp.net datetime textbox

如何确定我的文本框中的值是否是正确的日期

例如: 这是我的文本框中的日期值:01/32/2013

我知道这是错误的日期值,但是如何确定它是错误的格式呢? 我可以通过使用 try and catch 来避免这种情况,但我不想使用它,如果我找不到问题的解决方案,我会使用它。

<asp:TextBox ID="txtMEditStartDt" runat="server" Text='<%# Bind("StartDt", "{0:MM/dd/yyyy}") %>'
    CssClass="datePicker" SkinID="textSkin" Width="100px"></asp:TextBox>
<asp:MaskedEditExtender ID="MaskedEditStartDt" runat="server"
    TargetControlID="txtMEditStartDt" Mask="99/99/9999" MaskType="Date" 
    CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" 
    CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" 
    CultureThousandsPlaceholder="" CultureTimePlaceholder="" Enabled="True"/>
<asp:CalendarExtender ID="calendarEditStartDt" runat="server" TargetControlID="txtMEditStartDt" Format="MM/dd/yyyy">
</asp:CalendarExtender>

最佳答案

为什么不使用日历控件将数据放在文本框中而不是允许用户输入日期..这将确保用户不会输入错误的数据值,因为用户只需要从日历控件中选择日期

如果你知道数据格式,你可以这样做

string dateTimeString = "28/08/2012";
DateTime date;
if(DateTime.TryParseExact(dateTimeString, 
   "dd/MM/yyyy", CultureInfo.InvariantCulture,DateTimeStyles.None, 
    out date))
 {
    //code to process valid date
 }

如果不是有效日期则返回假值,这样你可以验证你的日期数据

关于c# - 验证文本框中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14314934/

相关文章:

sql - SQLite日期时间函数的分辨率是多少?

C# .Net 框架版本控制

javascript - 使用 javascript 通过 POST 请求将数据添加到数据库。如何在不了解对象的情况下添加数据?

ASP.net Core 2.0 JWT token 刷新

c# - 如何在 ASP.NET 中获取客户端日期和时间?

python - Pandas 用毫秒解析三个字段的日期

c# - 如何将表单置于请求帮助模式?

c# - VB.NET 执行顺序

c# - LINQ 表达式中的聚合函数抛出错误。 (不能翻译成商店表达式。)

asp.net - 在FireFox中禁用链接按钮后,为什么链接按钮不会显示为灰色?