强制日期格式,无论文化如何

时间:2015-06-16 16:23:09

标签: c# sql-server-2008 currentuiculture

我遇到某些文化问题(特别是西班牙文),导致日期字符串ToShortDateString()以dd / mm / yyyy进入

where END_DATE between '17/05/2015' and '16/06/2015' 

这会导致SQL服务器错误,因为我们会收到错误的日期文字字符串,例如:

{{1}}

在构建SQL语句的情况下,强制日期格式为mm / dd / yyyy的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

答案是,如果您要使用任何格式,请确保其类型为ISO yyyy-MM-dd

where END_DATE between '" + asOfDate.AddDays(-30).ToString("yyyy-MM-dd") + "' and

然而,更重要的一点是使用参数化查询,而不是字符串连接。执行此操作时,日期是日期,日期和格式无关。

答案 1 :(得分:0)

您可以使用:

asOfDate.AddDays(-30).ToString("MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)

(注意大写的MM)