ADO.net数据表正在更改时间

时间:2018-11-06 03:40:03

标签: 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();
        }

当我快速查看数据时,它将显示数据,如下图所示:

enter image description here

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

Visual Studio DataSet Visualizer使用Windows指定的默认日期和时间显示格式。这些可以在“日期和时间设置”页面或“日期和时间”控制面板中进行更改。通过控制面板中的“其他设置...”,您可以指定所需的任何自定义格式:

Screenshot

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