asp.net 详细信息视图日期时间字段格式与 SQL Server 格式不匹配

本文关键字:格式 SQL Server 不匹配 字段 时间 net 详细信息 视图 日期 asp | 更新日期: 2023-09-27 18:31:22

我有一个 asp.net(WebForms)应用程序,该应用程序具有详细信息视图(插入模式)来添加新数据。

其中 2 个字段是datetime类型。我已将 SQL Server 数据库列定义为 datetime

现在,每当我尝试添加日期和时间时,它都会说它与格式不匹配!

见过人们遇到同样的问题,但不幸的是他们的解决方案对我不起作用。如何确保格式匹配?是否可以将当前日期时间显示为示例,以便用户遵循它?

提前感谢!

详细信息查看代码:

<Fields>
          <asp:BoundField DataField="projectName" HeaderText="projectName" SortExpression="projectName" />
          <asp:BoundField DataField="projectType" HeaderText="projectType" SortExpression="projectType" />
          <asp:BoundField DataField="subjectName" HeaderText="subjectName" SortExpression="subjectName" />
          <asp:BoundField DataField="studentID" HeaderText="studentID" SortExpression="studentID" />
          <asp:BoundField DataField="supervisorID" HeaderText="supervisorID" SortExpression="supervisorID" />
          <asp:BoundField DataField="startDate" HeaderText="startDate" SortExpression="startDate" />
          <asp:BoundField DataField="dueDate" HeaderText="dueDate" SortExpression="dueDate" />
          <asp:CommandField ShowInsertButton="True" />
</Fields>

asp.net 详细信息视图日期时间字段格式与 SQL Server 格式不匹配

最好使用标准的中性格式,而不考虑任何区域、语言 .. 设置。

使用以下格式作为日期时间。如果您以如下所示的未分隔或ISO 8601格式输入日期时间,则不必担心任何配置/设置:

Unseparated = 'yyyymmdd hh:mm:ss'
ISO 8601    = 'yyyy-mm-ddThh:mm:ss'

ISO 8601格式的优点是在国际标准中定义。在处理日期时间值时,您可以使用ToString()方法传递此格式:

lblDateTime.Text = (DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss"));

这具有各种优势,因为它不需要检查/更改操作系统,数据库服务器的设置...继续阅读这里。

检查您的 PC 日期格式并在截止日期中输入相同格式的日期,如果您动态输入日期时间,则像这样使用

DateTime.Now.ToString(yyyy-MM-dd)

这里 yyyy-MM-dd 是我的日期格式,在此输入您的格式,这是当前日期,您可以将其用于您想要的日期