数据库中的日期时间值

本文关键字:时间 日期 数据库 | 更新日期: 2023-09-27 18:34:35

我将日期时间更新为日期库。现在是 2012 年 5 月 2 日。但是当我想将该数据库中的此值显示到文本框中时,它将显示:05/02/2012。

请帮我解决这个问题。我想在文本框中显示它的值,就像格式已更新一样:5/2/2010

提前致谢

数据库中的日期时间值

如果将数据作为DateTime对象,则可以使用其ToString(string)重载格式化其输出,格式字符串为"d/M/yyyy"或任何其他格式,如下所述:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

SELECT CAST(DATEPART(MM,GETDATE()) AS VARCHAR(2))+'/'
+CAST(DATEPART(DD,GETDATE()) AS VARCHAR(2))+'/'
+CAST(DATEPART(YYYY,GETDATE()) AS VARCHAR(4))

试试这个:

Textbox1.Text=datevalue.ToString("MM/dd/yyyy");

尝试此ToString("d/M/yyyy")以提供所需的格式。

如果你能给我看你的代码,那么我可以帮你更多。

您可以在

分配值时使用ToString("MM/dd/yyyy")
如果您的文本框Textbox1并且您的日期值存储在对象日期值DateTime那么您应该这样做。

Textbox1.Text=datevalue.ToString("MM/dd/yyyy");

当您将此数据存储到 sql Server 中作为日期时间类型时,原始格式将丢失。 但是,如果要显示数据而不显示前导 0,则可以为文本框执行此操作。

我的文本框。文本 = dt。Month.ToString((.TrimStart('0'( + "/" + dt.Day.ToString((.TrimStart('0'( + "/" + dt.Year.ToString((

通常,使用

复杂的查询来处理数据或在到达应用程序之前预先格式化数据是一种糟糕的做法,因为您会失去结果的灵活性。

来自 SQL 的数据被正确格式化为通用 DateTime 戳 - 允许应用程序对其进行调整以用于显示目的,正如 @Chris-Sinclair 在示例链接中建议的那样。

如果使用 WPF,最好的办法是允许 UI 元素按照它认为合适的方式设置文本的格式,这样类实例的内容就不会被修改。它仍然是一个 DateTime 对象,因此您可以执行 DateTime "数学"或其他操作,而不会丢失全部值。

下面是 WPF UI 元素确定其格式的 elegantcode.com 示例:

<TextBlock Text="{Binding Date, StringFormat={}{0:MM/dd/yyyy hh:mm tt}}" />

出于您的特殊目的,正确的行应为:

<TextBlock Text="{Binding Date, StringFormat={}{0:M/d/yyyy hh:mm tt}}" />

为此,最好的方法是将日期时间作为字符串保存到数据库中。 然后在检索字符串后,我可以将其转换为日期时间。 它将显示正确的格式。