DateTime字符串格式错误

时间:2018-07-17 18:51:34

标签: c# ajax asp.net-mvc datetime asp.net-mvc-5

我在转换字符串格式的日期时间时遇到问题,但无法将其转换为日期时间格式。

我有错误:

  

该字符串未被识别为有效的日期时间。有一个未知数   从索引3开始的单词

因为我阅读了带有日期字符串17-ago-18的.xmls文档 我认为类似"dd-MMM-yy"

有人可以帮助我解决这个问题吗?

我的代码是:

    public JsonResult Pedidos(List<string[]> lines)
    {
        using (TransactionScope scope = HelperTransactionScope.getTransactionScope())
        {

            try
            {
                for (int i = 1; i < lines.Count; i++)
                {
                    if (lines[i].Length == 1)
                        return Json("400");

                    PedidosFundilag pedido = new PedidosFundilag();
                    pedido.Cliente = lines[i][0];
                    pedido.Division = lines[i][1];
                    pedido.NumParte = lines[i][2];
                    pedido.Cantidad = Convert.ToInt32(lines[i][3]);
                    pedido.FechaSolicitud = Convert.ToDateTime(lines[i][4]);         
                    pedido.FechaEnvio = Convert.ToDateTime(lines[i][5]);
                    pedido.OrdenCompra = lines[i][6];
                    pedido.NumConfirmacion = lines[i][7];

                    AgregarPedido(pedido);
                }

                scope.Complete();
                return Json("200");
            }
            catch(Exception ex)
            {
                ModelState.AddModelError("", ex.InnerException == null ? ex.Message : ex.InnerException.InnerException != null ? ex.InnerException.InnerException.Message : ex.InnerException.Message);
                return Json(ex.Message, "400");
            }

1 个答案:

答案 0 :(得分:0)

解析器无法检测您的字符串语言。您必须明确地告诉它日期是葡萄牙语。这就是Convert.ToDateTime方法的第二个参数。

方法文档:https://msdn.microsoft.com/en-us/library/9xk1h71t(v=vs.110).aspx

支持的文化代码完整列表:https://msdn.microsoft.com/en-us/library/hh441729.aspx

使用示例:

CultureInfo culture = new CultureInfo("pt-BR");
DateTime dateTimeValue = Convert.ToDateTime(youDateString, culture);