如何将SQL日期转换为DateTime?

我的SQL数据库中有一个包含date类型的列。 如何将其转换为C# DateTime ,然后再转换回SQL date

sql DATE可以直接转换为.net DateTime ,反之亦然。

为了得到它,使用SqlDataReader.GetDatetime方法

 DateTime myDate = myDataReader.GetDateTime(myColumnIndex); 

设置它,只需将其分配给SqlParameter的值并使用DateTime的.Date属性

c#从读者那里获取日期

 DateTime date1; DateTime.TryParse(reader["datecolumn"], out date1); 

要插入日期

 string date1="2013-12-12"; DateTime date2; DateTime.TryParse(reader["datecolumn"],out date2); SqlCommand cmd= new SqlCommand("Insert into table (dateColumn) Values(@date2)",connection); cmd.Parameters.AddWithValue("@date2",date2.Date); 

TryParse在成功转换时返回true,否则返回false。

VB

从读者那里得到约会

 Dim date1 as Date=CType(reader("dateColumn"),Date) 

要插入日期

  Dim date1 as String="2013-12-12" 'you can get this date from an html input of type date Dim cmd As New SqlCommand("Insert into table (dateColumn) Values(@date1)",connection) cmd.Parameters.AddWithValue("@date1",CType(date1, Date)) 

注意:代码是用VB编写的。 您可以轻松编写上述代码的c#等价物。 函数名在VB和c#中保持不变。 此外,cype在c#中不可用(尽管它与显式转换变量相同,例如date1=(DateTime)reader("dateColumn");我建议使用TryParse ,它不会对不成功的解析/转换抛出任何exception。

句法

 Date.TryParse(reader("dateColumn"), date1) 
  string mydate= Convert.ToDateTime(reader["dateColumn"]).ToShortDateString().ToString()); 

这些代码对我有用。试试这些