none
Data só salva no formato d/M/aaaa e quero dd/MM/aaaa. RRS feed

  • Pergunta

  • Pessoal,
    Estou com um problema que esta me tirando do sério.
    Na máquina em que estou desenvolvendo, o meu código funciona normal mais quando jogo pra um servidor iis de teste e vou preencher um textbox com a data do sistema, ele preenche no formato d/M/aaaa quando esta formatado para aparecer dd/MM/aaaa. Já alterei a configuração da máquina na data abreviada, já alterei a cultura do asp.net, já coloquei a cultura no meu web.config.
    Alguém sabe me dizer o que pode ser?
    Vou colocar meu código para vcs verem como esta.
    Abraço a todos.
    txtdatainicio.Text = String.Format("{0:dd/MM/yyyy}", DateTime.Now.ToString().Substring(0, 10));
    • Editado Anderson Diniz quinta-feira, 3 de setembro de 2009 19:20 trocar grid por textbox.
    quinta-feira, 3 de setembro de 2009 19:19

Respostas

  • Ola Andeson,
    primeiro a formatação pode ser simplificada

    txtdatainicio.Text = DateTime.Now.ToString();
    ja q o toString pode ser chamado com o parametro de formatString
    logo ficaria assim

    txtdatainicio.Text = DateTime.Now.ToString("dd/mm/yyyy");

    se nao resolver tente jogar varios controles na sua aplicação, cada um com uma formatString diferente
    por exemplo:

    txtdatainicio1.Text = DateTime.Now.ToString("d/m/yy");
    txtdatainicio2.Text = DateTime.Now.ToString("dd");
    txtdatainicio3.Text = DateTime.Now.ToString("yyyy");
    txtdatainicio4.Text = DateTime.Now.ToString("T");

    cada uma devera vir num formato diferente, se nao estiver vindo pode ter alguma coisa configurada errada na Cultura ou no web.config

    []s
    • Marcado como Resposta Anderson Diniz quinta-feira, 3 de setembro de 2009 20:38
    quinta-feira, 3 de setembro de 2009 20:23
  • Ou simplesmente, para garantir o formato...

    DateTime.Now.ToString("dd-MM-yyyy");


    Desenvolvedor .Net
    • Sugerido como Resposta Leandro Angelo quinta-feira, 3 de setembro de 2009 20:24
    • Marcado como Resposta Anderson Diniz quinta-feira, 3 de setembro de 2009 20:38
    quinta-feira, 3 de setembro de 2009 20:23

Todas as Respostas

  • Não poderia ser: txtdatainicio.Text = DateTime.Now.ToShortDateString();

    Programador Web C# .NET
    Email: ivan@faqsite.com.br
    Portifólio: http://www.faqsite.com.br
    Cel: +55(61) 8406-9719
    Fixo: +55(61) 3395-3383

    "Porque Deus amou o mundo de tal maneira, que deu seu único Filho para que todo aquele que nele crê, não pereça, mas tenha a vida eterna." (João 3:16)

    quinta-feira, 3 de setembro de 2009 20:14
  • Ola Andeson,
    primeiro a formatação pode ser simplificada

    txtdatainicio.Text = DateTime.Now.ToString();
    ja q o toString pode ser chamado com o parametro de formatString
    logo ficaria assim

    txtdatainicio.Text = DateTime.Now.ToString("dd/mm/yyyy");

    se nao resolver tente jogar varios controles na sua aplicação, cada um com uma formatString diferente
    por exemplo:

    txtdatainicio1.Text = DateTime.Now.ToString("d/m/yy");
    txtdatainicio2.Text = DateTime.Now.ToString("dd");
    txtdatainicio3.Text = DateTime.Now.ToString("yyyy");
    txtdatainicio4.Text = DateTime.Now.ToString("T");

    cada uma devera vir num formato diferente, se nao estiver vindo pode ter alguma coisa configurada errada na Cultura ou no web.config

    []s
    • Marcado como Resposta Anderson Diniz quinta-feira, 3 de setembro de 2009 20:38
    quinta-feira, 3 de setembro de 2009 20:23
  • Ou simplesmente, para garantir o formato...

    DateTime.Now.ToString("dd-MM-yyyy");


    Desenvolvedor .Net
    • Sugerido como Resposta Leandro Angelo quinta-feira, 3 de setembro de 2009 20:24
    • Marcado como Resposta Anderson Diniz quinta-feira, 3 de setembro de 2009 20:38
    quinta-feira, 3 de setembro de 2009 20:23
  • Pois é José, ja tentei assim tb e não funcionou.
    aparece assim: 39/20/09__

    Valeu mesmo assim pela ajuda.

    quinta-feira, 3 de setembro de 2009 20:24
  • E assim: txtdatainicio.Text = DateTime.Now.ToString("{0:d}");

    Programador Web C# .NET
    Email: ivan@faqsite.com.br
    Portifólio: http://www.faqsite.com.br
    Cel: +55(61) 8406-9719
    Fixo: +55(61) 3395-3383

    "Porque Deus amou o mundo de tal maneira, que deu seu único Filho para que todo aquele que nele crê, não pereça, mas tenha a vida eterna." (João 3:16)

    quinta-feira, 3 de setembro de 2009 20:27
  • Helio, Leandro e Jose.
    Valeu pela ajuda de vcs.
    Jose, esta sua ultima não funcionou, apareceu só o dia, mais eu tentei colocar ("{0:d/MM/yyyy}") e o ano só apareceu com dois dígitos. Mais já entendi tb como funciona esta parte. Valeu tb!
    Abraços.
    Consegui colocar assim:

    txtdatainicio.Text =

    DateTime.Now.ToString("dd/MM/yyyy");

    quinta-feira, 3 de setembro de 2009 20:38
  • Mas funcionou?
    quinta-feira, 3 de setembro de 2009 20:56
  • Funcionou sim, daquela forma que vc colocou primeiro e como eu repeti embaixo.
    Valeu!
    sexta-feira, 4 de setembro de 2009 15:54