在asp.net中验证转换后的日期格式

本文关键字:日期 格式 转换 验证 asp net | 更新日期: 2023-09-27 18:09:06

我有一个带有AJAX日历扩展程序控件的aspx文本框。

<asp:TextBox ID="tbxFirstReceivedDate" CssClass="selectstyle" runat="server" MaxLength="100" Width="200"></asp:TextBox>
<cc1:CalendarExtender ID="CalendarExtender1" TargetControlID="tbxFirstReceivedDate" BehaviorID="behaviorID" runat="server" Format="ddd MM/dd/yyyy hh:mm:ss tt"></cc1:CalendarExtender>

文本框中输入的日期格式为"Tue 08/04/2015 12:00:00 AM"。我将日期转换为MM/dd/yyyy hh: MM:ss tt格式使用下面的代码在提交按钮单击事件。

CultureInfo ci = new CultureInfo("en-US");
DateTime date = Convert.ToDateTime(tbxFirstReceivedDate.Text, ci);

我想在转换发生后验证日期格式。如果新的日期格式不是MM/dd/yyyy hh: MM:ss tt,我想显示一个错误消息。

如何检查后台代码的格式?

在asp.net中验证转换后的日期格式

DateTime.TryParseExact允许这样:

var dateString = tbxFirstReceivedDate.Text;
var date format = "MM/dd/yyyy hh:mm:ss tt";
DateTime theDateTime;
if (!DateTime.TryParseExact(dateString, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out theDateTime))
{
    // Report error about invalid date format here
}