通过解析将字符串转换为日期时间

J. *_*son 1 .net c#

我收到以下格式的字符串

string dt=  "\"2014-06-01T05:00:00.000Z\""
Run Code Online (Sandbox Code Playgroud)

我试图将它转换为Date跟随方式

mDateTime dt = Convert.ToDateTime(dt)
Run Code Online (Sandbox Code Playgroud)

我收到错误说当将字符串转换为日期时使用解析字符串.请告诉我如何解析字符串到目前为止.谢谢

Son*_*nül 5

Convert.ToDateTime方法失败,因为这不是您的标准日期和时间模式CurrentCulture(并且可能没有文化支持此格式).

您可以使用自定义日期和时间格式DateTime.TryParseExactDateTime.ParseExact方法.

这里有LINQPad的例子;

string s = "\"2014-06-01T05:00:00.000Z\"";
DateTime dt;
if(DateTime.TryParseExact(s, "'\"'yyyy-MM-dd'T'HH:mm:ss.fff'Z\"'", 
                          CultureInfo.InvariantCulture,
                          DateTimeStyles.None, out dt))
{
    dt.Dump();
}
Run Code Online (Sandbox Code Playgroud)

输出将是;

6/1/2014 5:00:00 AM
Run Code Online (Sandbox Code Playgroud)

这里一个demonstration.