如何使用c#将字符串转换为datetime

use*_*147 -6 c# datetime

当尝试以日期时间格式转换字符串值时,某个时候字符串变量带有空值,此时它会抛出异常无效的sting格式.例如

string abc=//date vale
 datetime dt=new datetime();
 dt=DateTime.Parse(abc);
//if abc comes null it throws exception.
//I can check in this way
if(abc!=null)
{
 dt=DateTime.Parse(abc);
}
Run Code Online (Sandbox Code Playgroud)

Asi*_*taq 7

使用以下代码.

string abc=//date vale
DateTime dt;        
if(DateTime.TryParse(abc, out dt)
{
       // do something
}
Run Code Online (Sandbox Code Playgroud)


Fis*_*rdo 7

看看DateTime.TryParse[MSDN].

编辑:

如果您不想复制此代码,请将其放在方法中,可能具有可为空的返回值:

public DateTime? ParseDate(string dateString)
{
    DateTime dt;
    if (DateTime.TryParse(dateString, out dt))
    {
        return dt;
    }
    else
    {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)


Den*_*aub 5

你可以用DateTime.TryParse(string s, out DateTime result).此方法将尝试将字符串解析为结果,并返回true它是否有效/ false如果无法进行解析.

string abc = //date vale
datetime dt;
bool didItWork = DateTime.TryParse(abc, out dt);
Run Code Online (Sandbox Code Playgroud)


Fed*_*jdu 5

您应该使用DateTime.TryParse()以确保避免异常.