www.example.com应用程序的日期格式asp.net

r3i60tvu  于 2023-02-10  发布在  .NET
关注(0)|答案(2)|浏览(176)

如何从表格中获取日期并显示在网格视图中?我使用的是ajaxtoolkit:calendereextender,其中的日期格式是MM/dd/yyyy,因为我的服务器日期格式是MM/dd/yyyy。我使用DateTime.Parse(txtvdate.Text).ToString("yyyyMMdd")命令将日期字段插入数据库。现在我尝试将其显示在网格视图中,格式为MM/dd/yyyy。
aspx代码:

<asp:BoundField DataField = "Vdate" HeaderText = "Tran Date" DataFormatString="{0:MM/dd/yyyy}" HtmlEncode="false" />
qyzbxkaa

qyzbxkaa1#

这里我提供了一个简单的例子如下:
如果数据库中的Date为字符串,则将其转换为Datetime:

Let us consider two columns X and Y:

 X       Y

 1     03/04/2014
 2     05/04/2014

如果Y列是SQL数据库中的字符串数据类型:

使用SQL从表中选择时,如果列y的数据类型为string,则将其转换为Date:
SQL查询中的强制转换使用以下方法:

CAST('your string date' as DATETIME)

有关更多详细信息,请参见以下链接,了解如何在SQL中将字符串强制转换为日期时间:
Casting in SQL

数据表中的转换:

数据表dt_first包含列X和Y,如上表所示。
如果Y为字符串,则执行以下操作:

DataTable dtcloned = dt_first.Clone();
            dtcloned.Columns[1].DataType=typeof(DateTime); ---> converts the datatype of Y column to Datetime
            foreach (DataRow row in dt_new.Rows)
            {
                dtcloned.ImportRow(row);
            }

将克隆的数据表绑定到GridView:

grid.DataSource = dtcloned;
grid.DataBind();

最后在网格视图的BoundField中:
Y应为日期时间数据类型。

<asp:BoundField DataField="Y" HeaderText="Date" DataFormatString="{0:dd/MM/yyyy}" />

我想这会解决你的问题。

vpfxa7rd

vpfxa7rd2#

您还可以检查是否正在使用模板字段:

<asp:TemplateField HeaderText="last_modified_date">
    <ItemTemplate>                           
        <asp:Label ID="lblModyDate" runat="server" Font-Size="10px" CssClass="ControlStyleUpperCase" 
          Text='<%# Bind("last_modified_date","{0:dd/MM/yyyy HH:mm:tt}") %>'></asp:Label>
    </ItemTemplate>
</asp:TemplateField>

相关问题