Witam!
Jak policzyć różnicę pomiędzy dwoma datami, ale nie uwzględniając sobót i niedziel? Czyli jeśli mam dzisiejszą datę w południe i odejmuję piątkową w południe, to w wyniku mam otrzymać 1, a nie 3.
Jak to zrobić?
pozdrawiaMM
Witam!
Jak policzyć różnicę pomiędzy dwoma datami, ale nie uwzględniając sobót i niedziel? Czyli jeśli mam dzisiejszą datę w południe i odejmuję piątkową w południe, to w wyniku mam otrzymać 1, a nie 3.
Jak to zrobić?
pozdrawiaMM
Wynik to S.
Jeśli daty nie będą zbyt odległe, to najprostsza chyba jest taka pętla (pseudokod):
Data:=DataPocz+1
Roznica:=0
while (Data<=DataKonc)
id(DzienTygodnia(Data)<>6 And DzienTygodnia(Data)<>7) Roznica++
W przykładzie piszesz południe, jakiego wyniku oczekujesz gdy DataPocz=Sobota 23.59.59,
DataKonc=Poniedziałek 00.00.01 ?
adf88 napisał(a)
Wynik to S.
Dzięki. Sprawdzę. Ale wydaje mi się, że kiedyś w VB tak właśnie robiłem.
pozdrawiaMM
jak napisać program który liczy ile dni pozostało (lub za ile dni będzię) do podanej z klawiatury daty do dnia twoich urodzin (datę urodzin użytkownik podaje sam).
int day = 24;
int month = 5;
DateTime birthdayDateThisYear = new DateTime(DateTime.Now.Year, month, day); // urodziny w tym roku
DateTime birthdayDateNextYear = new DateTime(DateTime.Now.Year + 1, month, day); // urodziny w następnym roku
DateTime today = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
TimeSpan toNextBirthDay;
if (birthdayDateThisYear >= DateTime.Now) // jeżeli urodziny w tym roku dopiero będą
toNextBirthDay = birthdayDateThisYear - today;
else // jeżeli urodziny w tym roku już były, bierzemy pod uwagę urodziny w następnym roku
toNextBirthDay = birthdayDateNextYear - today;
int daysToNextBirthDay = toNextBirthDay.Days;
Nie do podanej daty, ale oblicza za ile dni będą następne urodziny. Nie doczytałem, że data ma być podana z klawiatury, ale po prostu odpowiednio zmodyfikuj "today".
No chyba, że też nie o to chodzi, bo ciężko mi zrozumieć twoją wypowiedź.