Ошибка в Convert.ToDateTime - PullRequest
0 голосов
/ 18 мая 2018

У меня есть этот код:

public JsonResult salvaPaciente(string cns, string sexo, string dataNasc, string nome, string raca,
                                string cep, string ibge, string logradouro, string endereco, string numero,
                                string complemento, string bairro, string telefone, string email)
{
    byte[] bytes = System.Text.Encoding.GetEncoding("iso-8859-8").GetBytes(nome);
    nome = System.Text.Encoding.UTF8.GetString(bytes);

    paciente oPaciente = new paciente()
    {
        bairro = bairro,
        cep = cep,
        cns = cns,
        complemento = complemento,
        dataNasc = Convert.ToDateTime(dataNasc),
        email = email == "" ? " " : email,
        endereco = endereco,
        ibge = ibge,
        logradouro = logradouro,
        nacionalidade = "010",
        nomePaciente = nome,
        numero = numero,
        raca = raca,
        sexo = sexo,
        telefone = telefone
    };
    modelOff.pacientes.Add(oPaciente);
    try
    {
        modelOff.SaveChanges();
        return Json("sim", JsonRequestBehavior.AllowGet);
    }
    catch
    {
        return Json("nao", JsonRequestBehavior.AllowGet);
    }
}

Код работал и зависал после того, как я активировал Visual Studio 2017 и сгенерировал ошибку ниже:

[FormatException: строка былане распознается как действительный DateTime.]

Строка dataNasc содержит '24/06/1979'

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Вы можете использовать DateTime.ParseExact

образец: -

string dataNasc = "24/06/1979";
DateTime time = DateTime.ParseExact(dataNasc, "dd/MM/yyyy", null);

Онлайн пример

0 голосов
/ 18 мая 2018

24/06/1979 не будет конвертировать, поэтому вам нужно будет сначала проанализировать его.

Документация DateTime

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...