[ PrincipalSkinner @ 11.12.2007. 08:23 ] @
Pozdrav svima.
Imam jedan ekstra ekstra cudan problem. Imam jednu metodu koja prima samo jedan parametar tipa double. Recimo da izgleda ovako :
Code:

public DateTime AuctionEnds(double endTime)
{
  System.DateTime date = new System.DateTime(1970,1,1,0,0,0);
  DateTime tempDate = date.AddSeconds(endTime);
  ...
  
}

Metoda je dosta pojednostavljena ali dovoljno opisana. Dakle, problem je u drugoj liniji. Vrednost promenljive tempDate se razlikuje od poziva do poziva metode iako je vrednost endTime-a ista svuda! Razlika je oko 30-40 sekundi sto po meni iskljucuje problem sa vremenskim zonama. Moje pitanje je, ako je vrednost ulaznog parametra uvek ista, kako se moze razlikovati rezultat? Da li moze postojati neka globalna promenljiva koja utice na ishod a to se ne vidi iz koda metode?
[ jablan @ 11.12.2007. 09:54 ] @
Probaj da izoluješ problematični kod u zasebnu metodu pa je okači ovde celu, ovako stvarno čudno izgleda.
[ PrincipalSkinner @ 11.12.2007. 10:46 ] @
I jesam izolovao kod u kojem primecujem razlike. U tome i jeste problem. date.AddSeconds(endTime) je linija gde se manifestuje problem.
[ toxi_programer @ 11.12.2007. 13:33 ] @
Mora biti da endTime nije dobro.

Ja sam kod mene napisao ovako:

Code:

        private void button1_Click_1(object sender, EventArgs e)
        {
              double endTime = 100;
              System.DateTime date = new System.DateTime(1970,1,1,0,0,0);
              DateTime tempDate = date.AddSeconds(endTime);
              MessageBox.Show(tempDate.ToLongTimeString());
        }


I uvek prikaže minut i 40 sekundi.
[ PrincipalSkinner @ 11.12.2007. 19:13 ] @
Evo hardkodirao sam vrednost i opet ne valja.


Kao sto se vidi, u jednom slucaju vreme je 20:12:10 a u drugom 20:11:27. O cemu se radi? Vise mi nista ne pada na pamet.