繁体   English   中英

DataTable修改日期格式-为什么?

[英]DataTable Modifies Date Format - WHY?

所以,我发出了一个测试查询像SELECT *有从我的表start_date是有一栏Date数据类型。 然后将此查询放入DataTable,然后将其转换为CSV文件。 在SSMS中,查询仅返回日期,如下所示:

SSMS查询

但是,当我下载转换后的CSV文件时,日期如下所示:

CSV文件

我想知道的是为什么 为什么DataTable表现得如此? 我在DataTable的文档中找不到直接的答案。

这是在带有SQL Server 2008的ASP.NET 4.0 C#平台上。

谢谢!

DataTable使用.NET DateTime类,并且在创建CSV时可能会使用DateTime.ToString()方法将其转换为字符串。 该方法使用当前线程的区域性设置中的日期格式。 创建CSV时,需要使用DateTime.ToString(string format) 重载来指定所需的DateTime格式。

这是 .NET平台上特定于区域性的DateTime格式一般说明。

我认为这不是DataTable问题。

T-SQL date类型DateTime CLR数据类型映射。 这意味着,即使此类型在SQL Server中仅包含日期部分,当您将其映射到DateTime默认情况下其时间部分将为午夜

除此之外,此2015-06-176/17/2015 12:00:00 AM值只是此值的不同文本表示形式。 文字表示形式取决于您当前的区域性设置和/或CSV文件设置等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM