1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

problema com datas c#

Discussão em 'Web Development' iniciada por alfinete, 21 de Janeiro de 2008. (Respostas: 1; Visualizações: 1707)

  1. alfinete

    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
    
    
    
    
     
  2. p3dro

    p3dro Power Member

    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.YearDateTime.Now.MonthDateTime.Now.Day);
    DateTime data_inicio = new DateTime((Convert.ToDateTime(this.txtdata.Text)).Year,
                                                (
    Convert.ToDateTime(txtdata.Text)).Month,
                                                (
    Convert.ToDateTime(this.txtdata.Text)).Day);
     

Partilhar esta Página