我知道这是一个反复出现的问题,但即使经过大量研究,我似乎也无法使其工作!我想将字符串转换为DateTime。
public DateTime ConvertToDateTime(string thisDate)
{
return DateTime.ParseExact(thisDate, "yyyy-MM-dd", CultureInfo.InvariantCulture);
}
(修改)
我将"2012-03-07"
作为参数,我得到的DateTime
是03/07/2012 12:00AM
。当我希望它返回时:2012-03-07 00:00:00
答案 0 :(得分:8)
你的代码是正确的;你的期望是错的。
当方法返回DateTime
时,它没有格式。更确切地说,它具有二进制内存格式,与其字符串格式无关。
调试器格式化DateTime以向您显示,但这与DateTime值本身无关。它使用的格式可能取决于您的区域设置。
如果要向用户显示DateTime,或将其作为字符串传递给其他某个函数,可以使用其中一个ToString
重载格式化它。
您可能正在显示或传递您给出的函数的返回值;如果是这样,错误在显示或传递DateTime的代码中,而不是在您给出的函数中。如果是这种情况,请编辑您的答案以包含该代码,也许我们可以帮助您解决问题。
答案 1 :(得分:2)
试试这个
public String ConvertToDateTime(string thisDate)
{
return DateTime.ParseExact(thisDate, "yyyy-MM-dd",
CultureInfo.InvariantCulture).toString("yyyy-MM-dd");
}