Cadeia de caracteres não foi reconhecida como DateTime válido

C#

29/04/2019

Caros colegas.

Está me retornando o erro: Cadeia de caracteres não foi reconhecida como DateTime válido.
Acontece quando tento transferir o MaskedTextBox para um campo Datetime.
Segue a linha de comando: frmNfe.DadosNotaFiscal.DataEmissaow = Convert.ToDateTime(mskDataEmissao.Text);

Só para constar, consigo fazer normante a conversão em outra rotina.

Obrigado.
Gilberto Gonçalves

Gilberto Gonçalves

Curtidas 0

Melhor post

Ramiro Porto

Ramiro Porto

29/04/2019

	
                                //dd/MM/yyyy  Máscara do teu controle
				mskdata.Text = "21/03/1984";
				string str = Regex.Replace(mskdata.Text, "[^0-9]", "");
			 
				int dia, mes, ano;
				ano = int.Parse(str.Substring(4, 4));
				mes = int.Parse(str.Substring(2, 2));
				dia = int.Parse(str.Substring(0, 2));
				var novaData = new DateTime(ano, mes, dia); //seu novo DateTime
				MessageBox.Show(novaData.ToShortDateString());
GOSTEI 1

Mais Respostas

Gilberto Gonçalves

Gilberto Gonçalves

29/04/2019

Olá Ramiro. Muito obrigado pela atenção.

Segui sua orientação e consegui resolver.

Mas uma coisa me incomoda.

contaspagar.DataEmissao = Convert.ToDateTime(txtDataEmissao.Text);

Neste outro comando não foi necessária esta manobra e não dá erro.

Como ainda estou aprendendo programação C# me dá um nó na cabeça. Parece que não ficarei bom nunca.

Obrigado. Valeu.
GOSTEI 0
Ramiro Porto

Ramiro Porto

29/04/2019

Olá Ramiro. Muito obrigado pela atenção.

Segui sua orientação e consegui resolver.

Mas uma coisa me incomoda.

contaspagar.DataEmissao = Convert.ToDateTime(txtDataEmissao.Text);

Neste outro comando não foi necessária esta manobra e não dá erro.

Como ainda estou aprendendo programação C# me dá um nó na cabeça. Parece que não ficarei bom nunca.

Obrigado. Valeu.

Bom dia.
seria interessante vc postar aqui o conteúdo do seu textbox. O comando Convert.ToDateTime não conseguirá converter todos os casos de strings.
GOSTEI 0
POSTAR