problema com datas c#

alfinete

Power Member
tenho este code em c#

que supostamente esta bem

Código:
  protected void btndia_Click(object sender, EventArgs e)
        {

            DateTime data_fim = new DateTime (DateTime.Now.Day, DateTime.Now.Month, DateTime.Now.Year);
            DateTime data_inicio = new DateTime((Convert.ToDateTime(this.txtdata.Text)).Day,
                                                (Convert.ToDateTime(txtdata.Text)).Month, 
                                                (Convert.ToDateTime(this.txtdata.Text)).Year);


            
           TimeSpan diff;

           diff = data_fim.Subtract(data_inicio);
           int a = (diff.Days);


          

            this.txtdata.Text = "" + a; 

        }

mas infelismente da este erro quer no (data_fim quer no data_inicio)

"Year, Month, and Day parameters describe an un-representable DateTime."

argument outofrange excepcion was unhandled by user code

gostave de um help
 
Estás a fornecer parametros numa ordem errada, repara bem nos overloads do construtor do DateTime e na ordem como estás a enviar os valores.

Um dos overloads recebe "ano,mês,dia" (que é o caso que estás a exemplificar), existem vários overloads, mas a ordem inicial (sempre que receber os tais 3 valores) será DateTime(year, month, day, [...] ).

No teu caso deverá ficar algo deste tipo:

PHP:
DateTime data_fim = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
DateTime data_inicio = new DateTime((Convert.ToDateTime(this.txtdata.Text)).Year,
                                            (Convert.ToDateTime(txtdata.Text)).Month,
                                            (Convert.ToDateTime(this.txtdata.Text)).Day);
 
Back
Topo