简体   繁体   English

Convert.ToDateTime出错

[英]Error on Convert.ToDateTime

I have this code: 我有这个代码:

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

The code was working and crash after I actuallize the Visual Studio 2017 and generate the error below: 在我确认Visual Studio 2017并生成以下错误后,代码正在运行并崩溃:

[FormatException: String was not recognized as a valid DateTime.] [FormatException:String未被识别为有效的DateTime。]

The string dataNasc contain '24/06/1979' 字符串dataNasc包含'24 / dataNasc '

You can use DateTime.ParseExact 您可以使用DateTime.ParseExact

sample:- 样品:-

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

Online Example 在线示例

24/06/1979 will not convert so you will need to parse it first. 24/06/1979将不会转换,所以你需要先解析它。

DateTime Documentation DateTime文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM