00:00:00 DateTime.ToString成为12:00:00

时间:2013-08-26 03:30:23

标签: c# datetime

enter image description here

我有一个约会时间'2013-8-5 0:00:00'。

当我使用.ToString("yyyy-MM-dd hh:mm:ss")将其解析为字符串时,它会返回“2013-08-05 12:00:00”

我写错了吗?

new SqlParameter("@StartDate", SqlDbType.DateTime)
{ 
    Value = startDate.ToString("yyyy-MM-dd hh:mm:ss") 
}

3 个答案:

答案 0 :(得分:11)

如果您想要0:00:00而不是12:00:00,请在格式字符串中指定H:mm:ss而不是hh:mm:ssH表示小时数为0到23之间的数字; hh表示小时数为01到12之间的数字。

更新:根据您提供的代码,您根本不需要格式化日期:

new SqlParameter("@StartDate", SqlDbType.DateTime)
{ 
    Value = startDate 
}

答案 1 :(得分:0)

“hh:mm:ss”正在向你提供你要求它给你的东西:

  

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

     

小时,使用从01到12的12小时制。

答案 2 :(得分:0)

试试这个,它会给你一个与“2013-8-5 0:00:00”完全相同的日期时间

new SqlParameter("@StartDate", SqlDbType.DateTime)
{ 
    Value = startDate.ToString("yyyy-M-d H:mm:ss"") 
}