我尝试了各种格式,但似乎无济于事。字符串是:
2018-06-04T09:07:30:507Z
我得到的错误是,在我尝试的所有操作中,字符串的日期时间格式都不正确。我首先发现/认为该字符串为ISO 8601格式,但这似乎也是错误的。
我不认为这很重要,但是我从XML输入中获得了这个字符串,这是我使用的代码(使用最新的变体,我试图使其工作):
foreach (XmlNode node in parentNode)
{
foreach (XmlNode child in node)
{
switch (child.Name)
{
case "ShopId":
advance.ShopId = child.InnerText;
break;
case "CustomerId":
advance.CustomerId = child.InnerText;
break;
case "Reference":
advance.Reference = child.InnerText;
break;
case "Amount":
advance.Amount = decimal.Parse(child.InnerText.Replace('.', ','));
break;
case "DateStart":
advance.DateStart = DateTime.Parse(child.InnerText, null, System.Globalization.DateTimeStyles.RoundtripKind);
break;
case "DateEnd":
advance.DateEnd = DateTime.Parse(child.InnerText);
break;
default:
break;
}
}
}
您可以手动选择格式:
DateTime.ParseExact(date, "yyyy-MM-ddTHH:mm:ss:fffZ", CultureInfo.InvariantCulture);
我以为有一个标准模式,但是 正如juharr指出的那样,我在 中间找不到一个接受“ T”的 模式,传入的数据不是标准格式。因此必须使用自定义格式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句