更改日期时间格式

时间:2015-06-14 10:21:11

标签: c# sql asp.net sql-server-2008 date-format

我已在页面后端将格式更改为dd-mm-yy,我想在数据库中以'dd-mm-yy'格式保存日期,例如'23-02-2015',并以此格式进行后续处理,我在文本字段中使用日期时间选择器...我将日期选择器的格式更改为我的'dd-mm-yyyy',但它没有以该格式保存数据并导致以下错误

  

字符串未被识别为有效的DateTime。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

不要使用字符串来表示日期 the DateTime struct of c# maps to sql server's datetime data type directly,这意味着您只需将DateTime结构作为参数值发送到SqlCommand对象中(我希望您使用parameterized queries或存储过程。如果没有,则现在就开始使用它们,除非你想要受到Sql injection攻击。)

阅读herethere,了解显示格式与sql server中日期值存储格式之间的区别。

答案 1 :(得分:1)

  

" String未被识别为有效的DateTime。"

首先,为什么不发送日期时间对象?

如果你不能(!),那么,

如果您的日期时间对象标识dt,那么dt.ToString("yyyy-MM-ddTHH':'mm':'sszzz", DateTimeFormatInfo.InvariantInfo)

这将是一个有效的iso日期时间字符串。

The only truly safe formats for date/time literals in SQL Server, at least for DATETIME and SMALLDATETIME, are:

YYYYMMDD
YYYY-MM-DDThh:nn[:ss[:mmm]]
相关问题