
Porovnání dvou datumů v C#
Ahoj, potřebuji porovnat dva datumy. Jeden datum uložený porovnávám se současným datumem zajímá měj jen číslo dnu, takže jsem si převedl datumy do stringu a rozkládám je. Pak už jen přes if porovnám jestli dny mají stejné číslo nebo ne. Jenže když si v messageboxu nechám zobrazit ten jeden den, tak se mi otevřou tři messageboxy. Jeden s číslem dnu, další s číslem měsíce a třetí s rokem. Poradíte mi jak to opravit ?
Novák Martin
//vypocet uloženeho data
datumprepocet = Class1.datum;
foreach (string dat in datumprepocet.Split('.'))
{
string day = (dat);
string moon = (dat);
string year = (dat);
den = Convert.ToInt32(day);
mesic = Convert.ToInt32(moon);
rok = Convert.ToInt32(year);
}
// vypocet současného data
datumted = DateTime.Now.Date.ToString("d/M/yyyy");
foreach (string datted in datumted.Split('.'))
{
string day1 = (datted);
string moon1 = (datted);
string year1 = (datted);
den1 = Convert.ToInt32(day1);
mesic1 = Convert.ToInt32(moon1);
rok1 = Convert.ToInt32(year1);
}
//porovnání dnu
if (den != den1)
{
dnesnilogin = false;
}
else
{
dnesnilogin = true;
}
to ti aj funguje? uplne zbytocne riesis blbosti so stringom a splitom.
tento riadok nahradi cele to co si tu napisal
Preco mas 3 message boxy neviem, ten kus kodu ti tu chyba, ale tipujem, ze zas tam mas nejaky pekelny foreach
Tuhle metodu nás učili ve škole. Proto to to tak mám :). Teď jsem si uvědomil, ta proměnná datum je ve stringu, tak už to není brané jako datum ale jako text, takže tam nejde napsat .Day.
No já zkoušel co je v té proměnné "den" (jaké číslo je tam) a ono mi to otevřelo tři message boxy.
Děkuji za radu
Na to existuje DateTime.TryParse nebo DateTime.TryParseExact...