0

我对某些文化(尤其是西班牙语)有疑问,导致日期字符串 ToS​​hortDateString() 以 dd/mm/yyyy 的形式出现

where END_DATE between '" + asOfDate.AddDays(-30).ToShortDateString() + "' and '" +

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

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

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

4

2 回答 2

1

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

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

然而,更重要的一点是使用参数化查询,而不是字符串连接。当您这样做时,日期是日期是日期,格式是无关紧要的。

于 2015-06-16T16:29:03.127 回答
-1

你可以使用:

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

(注意大写MM)

于 2015-06-16T16:37:26.820 回答