c# - ADO.net数据表是变化时间

标签 c# sql-server localization ado.net timezone

我对 ado.net 数据表有一个奇怪的问题。我在数据库中有一个名为 Test 的表。它有以下数据

enter image description here .

我使用数据表来获取这些数据。以下是我的代码:

        using (SqlConnection cnn = new SqlConnection(strConString))
        {
            cnn.Open();
            SqlDataAdapter da = new SqlDataAdapter("select top 100 idID,dtDate from Test order by idID desc", cnn);
            DataTable dt = new DataTable();
            da.Fill(dt);

//Inserted breakpoint and viewed dt in visualizer
            da.Dispose();
        }

当我在 quick watch 中看到数据时,它会显示如下图所示的数据:

enter image description here

我不明白为什么数据表将下午时间转换为上午时间。 我试图在 html 表中显示数据,只是为了弄清楚它不是数据可视化器或快速观察窗口中的错误。但当应用格式“dd MMM yyyy hh:mm tt”时,它显示时间为“2018 年 11 月 15 日上午 10:20”。

我们将不胜感激。

最佳答案

Visual Studio 数据集可视化工具使用 Windows 指定的默认日期和时间显示格式。这些可以在日期和时间设置页面或日期和时间控制面板中更改。控制面板中的“其他设置...”允许您指定您喜欢的任何自定义格式:

Screenshot

根据您的描述,“长时间”设置可能已自定义为 hh:mm:ss - 这是一种 12 小时格式,不显示上午/下午指示符。我建议改用 HH:mm:sshh:mm:ss tt,这样 19:57 就不会显示为 07:57,而您不知道它是否是上午或下午。

关于c# - ADO.net数据表是变化时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53165433/

相关文章:

c# - VS2010 仅在双击时突出显示引用

mysql - T-Sql,在列中拆分字符串并插入表中

c# - CultureInfo.InvariantCulture 和 DateTime to String 如何工作

java - 如何将类名、运行方法名和对象字段传递给AspectJ或其他拦截器?

c# - 随机数生成:returning same number in C# if I run. 一步步Debug就可以了

c# - 以编程方式关闭win8应用程序

C# CRC 实现

sql - 以所需格式格式化结果集时出现问题

基于变量值的 SQL 条件

c# - 使用 resx 文件进行本地化会生成 MissingManifestResourceException