none
Como se formata a Data para o formato dd-mm-yyyy retornando de um Data Reader RRS feed

  • Pergunta

  • Olá pessoal tenho o seguinte codigo que recebe os campos de um data reader

     ImgGde.AlternateText += dr["Titulo"].ToString() + " !!!";
            lblTitulo.Text += dr["Titulo"].ToString();
            lblDescricao.Text += dr["Descricao"].ToString();
            formatadata = string.Format("{0:d/MM/yyyy}", dr["DataNoticia"].ToString());
            lblData.Text += formatadata;
            lblHorario.Text += string.Format("{0:HH:mm}",dr["HorarioNoticia"].ToString());
            hplUrlFonte.NavigateUrl += dr["UrlFonte"].ToString();
            hplUrlFonte.Text += dr["UrlFonte"].ToString();

    Acontece que ao executar o asp.net website e mesmo eu usando o string.format acima ele esta me retornando sempre na pagina

    dd/mm/yyyy 00:00:00  (ja que o reader do campo dele  retorna de um campo tipo DateTime)

    O que eu não estou entendendo é porque ele não está formatando como solicitado acima apenas para mostrar a data dd/mm/yyyy não incluindo os dados de hora o que não está ocorrendo

    Estou trabalhando em csharp asp.net website - .NetFramework 3.5 .NET num VisualStudioPro 2008, base de dados SqlServer 2008R2

    Fico no aguardo a quem puder me ajudar e desde ja agradeço


    LADEF

    quarta-feira, 28 de novembro de 2012 16:14

Respostas

  • luiz vc pode fazer assim

    formatdata = string.format("{0:dd/MM/yyyy}",dr["datanoticia"].toString().substring(0,10));

    ou então no seu select vc pode fazer assim

    select convert(varchar(10),datanoticia,103) as datanoticia

    e ai não precisa usar o string.format


    Junior


    • Editado Junior_luiz quarta-feira, 28 de novembro de 2012 16:57
    • Marcado como Resposta LuizIta segunda-feira, 10 de dezembro de 2012 04:14
    quarta-feira, 28 de novembro de 2012 16:56

Todas as Respostas

  • luiz vc pode fazer assim

    formatdata = string.format("{0:dd/MM/yyyy}",dr["datanoticia"].toString().substring(0,10));

    ou então no seu select vc pode fazer assim

    select convert(varchar(10),datanoticia,103) as datanoticia

    e ai não precisa usar o string.format


    Junior


    • Editado Junior_luiz quarta-feira, 28 de novembro de 2012 16:57
    • Marcado como Resposta LuizIta segunda-feira, 10 de dezembro de 2012 04:14
    quarta-feira, 28 de novembro de 2012 16:56
  • Apenas remova o .toString()

    Para isso aqui funcionar 

    string.Format("{0:d/MM/yyyy}"

    Você tem que passar uma data, e não uma string. Por isso você deve remover o .toString(), ta pegando uma data e convertendo pra string antes de formatar ela.

    quarta-feira, 28 de novembro de 2012 22:23
  • e no caso de um Select para condição where DataNoticia = Hoje

    como eu faria enfim o que eu precisaria mudar neste select

    Fico no aguardo e desde já agradeço


    LADEF

    terça-feira, 4 de dezembro de 2012 19:39
  • faz assim

    datetime hoje = datetime.now;

    string dia  = hoje.substring(0,2);

    string mes = hoje.substring(3,2);

    string ano = hoje.substring(6,4);

    string dataconvert = ano + "-" + mes + "-" + dia;

    seu select ficaria

    select data from tabela where campo = dataconvert


    Junior

    terça-feira, 4 de dezembro de 2012 19:49
  • Junior mesmo o campo DataNoticia sendo do tipo Date dá certo isto?

    Fico no aguardo e desde já agradeço


    LADEF

    quarta-feira, 5 de dezembro de 2012 01:49
  •  ImgGde.AlternateText += dr["Titulo"].ToString() + " !!!";
            lblTitulo.Text += dr["Titulo"].ToString();
            lblDescricao.Text += dr["Descricao"].ToString();
            formatadata = string.Format("{0:dd/MM/yyyy}", dr["DataNoticia"]);
            lblData.Text += formatadata;
            lblHorario.Text += string.Format("{0:HH:mm}",dr["HorarioNoticia"]);
            hplUrlFonte.NavigateUrl += dr["UrlFonte"].ToString();
            hplUrlFonte.Text += dr["UrlFonte"].ToString();

    Aqui está a versão certa. Só removi o .ToString()


    quarta-feira, 5 de dezembro de 2012 12:53