【问题标题】:Getting incorrect date format when retrieving data from SQL in asp.net从 asp.net 中的 SQL 检索数据时获取不正确的日期格式
【发布时间】:2016-02-15 03:09:31
【问题描述】:

我有一个包含日期字段和时间字段的数据库。我想从数据库中检索这两个值并将它们显示在Label 中。我可以通过将SqlDataSource 与数据库绑定并在label 中使用Eval 来做到这一点,但问题是我在检索日期时总是得到额外的上午12:00:00。例如,如果日期是 13/11/2015,当我通过 asp.net 检索它时,我得到 13/11/2015 12:00:00 am。

我已经在 SQL 本身中执行了一个查询,结果在没有 12:00:00 am 的情况下是正确的。此外,当我配置“SqlDataSource”时,我点击了Test Query,结果是正确的。

我无法弄清楚为什么在标签中显示格式不正确。标签放置在repeater ItemTemplate 内。除日期外,所有其他从数据库中检索到的数据都可以从中继器内部正确检索。这是将日期放在标签中的代码,

<span class="date_time_lbl">posted at: </span>
<asp:Label runat="server" Text='<%#Eval("tDate") %>'/>
<span> </span>
<asp:Label runat="server" Text='<%#Eval("Time") %>'/>

谁能告诉我是什么导致了这个问题?

【问题讨论】:

    标签: c# html asp.net sql-server date


    【解决方案1】:

    您可以在 eval 中使用格式化作为第二个参数;

    Eval("Date", "{0:d}")
    

    对于标准格式选项: https://msdn.microsoft.com/library/az4se3k1(v=vs.100).aspx

    对于自定义选项: https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

    【讨论】:

    • 谢谢,但我在日期字段而不是时间字段中遇到问题,您是说日期吗?
    猜你喜欢
    • 2020-05-18
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多