SQLServer 2005与ASP.NET日期时间格式混淆

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

我在堆栈溢出时发现了一个类似的问题,但它并没有真正回答我的问题。我需要确保我的asp.net应用程序格式化日期dd / mm / yyyy与我的SQL Server 2005相同。

如何验证服务器的日期文化(如果这就是它的名称)与我编写应用程序的方式相符?是否有特定的数据库设置和OS设置?它是特定于表格的吗?我不想转移我的日子和月份。

谢谢

提问于
用户回答回答于

当您从数据库中获取DateTime时,它应该采用非文化格式(如DateTime对象,基于特定日期以来的滴答数)。只有当您将该值转换为字符串时,您才需要关注文化。在这些情况下,您可以使用yourDateTimeValue.ToString(“dd / MM / yyyy”,CultureInfo.InvariantCulture)来确保信息正确显示。

用户回答回答于

**注意因为SQL DateTime列是非可空的,它们的最小值是1/1/1753而.net DateTimes是非可空的,最小值为1/1/0001。**

如果您从实际的DateTime列中提取数据,则默认情况下它将始终采用相同的标准格式。要将数据保存到列,您可能需要在参数中指定SqlDbType.DateTime。

我从http://bytes.com/forum/thread767920.html中删除了这个:

com.Parameters.Add(“@ adate”,SqlDbType.DateTime).Value = DateTime.Now;

扫码关注云+社区

领取腾讯云代金券