以下是使用的代码
Dim FilterExpression As string
Dim oDate as DateTime
oDate=System.DateTime.Now
FilterExpression = " quot_date >= '" + oDate.ToString() + "'"
在分配之前oDate包含#2/10/2013 6:10:35 PM#
这个,但当它分配给FilterExpression时,它变为quot_date >= '10/02/2013 6:10:35 PM'
日期正在改变他的格式
知道为什么吗?
答案 0 :(得分:3)
首先,那是VB而不是C#。
其次,oDate
的值是DateTime
类型的值。鉴于#2/10/2013 6:10:35 PM
是DateTime
类型的VB 文字,DateTime.ToString
使用的不是表示形式。它使用当前文化的默认格式 - 显然是有效使用dd/MM/yyyy hh:mm:ss tt
的格式。
如果您需要特定的字符串表示形式,可以使用standard或custom字符串格式作为DateTime.ToString
的参数,还可以指定要使用的区域性。 (例如,使用自定义字符串格式,您可能希望使用不变文化。)
但是,如果您尝试将其用作值 - 例如在SQL查询中 - 最好不要将其转换为字符串以开始。你还没有告诉我们你想要实现的目标,但我会尝试以避免将其转换为字符串,除非你真的需要。