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

本文关键字:转换 日期 时间 字符串 | 更新日期: 2023-09-27 18:07:30

我得到了以下格式的字符串

string dt=  "'"2014-06-01T05:00:00.000Z'""

我正在尝试将其转换为日期如下方式

mDateTime dt = Convert.ToDateTime(dt)

我得到错误说,当转换字符串到日期时间使用解析字符串。请让我知道如何解析字符串到目前为止。由于

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

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();
}

输出将是;

6/1/2014 5:00:00 AM
这里

demonstration

首先你必须修剪引号,然后解析:

DateTime result = DateTime.Parse(dt.Trim(''"'));

可以使用下面提到的代码

string dt = "'"2014-06-01T05:00:00.000Z'"";
dt = dt.Replace("'"", "");
DateTime dt12 = Convert.ToDateTime(dt);

Try This:

string dt = "'"2014-06-01T05:00:00.000Z'"";
dt = dt.Replace("'"", "");
DateTime dtFinal = DateTime.ParseExact(dt,"yyyy-MM-ddTHH:mm:ss.fffZ",
                                                  CultureInfo.InvariantCulture);