Hi all, chtěl bych se zeptat, zda by mi někdo poradil, jak v C# porovnat dva datumy. Vím, že ve VBA existuje funkce DateDiff('m',datod,datdo) a ta mi vrati o kolik měsíců se ty dva datumi liší. Ale jak to udělat v C#? Někdo mi radil, abych použil DateTime.Compare, ale to mi jen řekne, jestli je ten datum větší, menší nebo si jou rovny. Pak bych mohl použít (datod - datdo).TotalDays, jenže zde mi vystává problém, že některý měsíc má 31 dnů, některý 30, apod. Mno a co vlastně chci (napíšu to ve VBA) DateDiff('m', datod, datdo) < 1 -> porvnej mi dva datumy a pokud mezi nima bude rozdil mensi nez jeden mesic, tak neco proved. Jak toho dosáhnoutv c#?
Fórum › .NET
Porovnání dvou datumů
Ahoj,
zkus se podívat na tento link http://forums.asp.net/p/1289294/2486719.aspx, poslední příspěvek.
Pěkný den
Jarda Jirava
Hi,
díky za radu, sice mi v něčem pomohla, ale né ve všem. Proto jsem dlouho hledal a nakonec našel. Jako DB používám Postgres, takže jsem hledal řešení pro tuto DB. Dám Vám to sem a třeba to někomu pomůže.
CREATE FUNCTION datediff (diffType Character Varying(15), date1 Date, date2 Date) RETURNS integer AS $$
DECLARE
YEAR_CONST Character Varying(15) := 'year';
MONTH_CONST Character Varying(15) := 'month';
DAY_CONST Character Varying(15) := 'day';
diffInInterval Interval;
diffInDoublePrecision Double Precision := 0;
diffInInteger Integer := 0;
dateTemp Date;
BEGIN
diffInInterval := age(date2, date1);
IF lower($1) = lower(YEAR_CONST) THEN
diffInDoublePrecision := date_part('Year', diffInInterval);
ELSEIF lower($1) = lower(MONTH_CONST) THEN
diffInDoublePrecision := (date_part('Year', diffInInterval) * 12) + date_part('Month', diffInInterval);
ELSEIF lower($1) = lower(DAY_CONST) THEN
diffInDoublePrecision := endDate - startDate;
END IF;
diffInInteger := CAST(diffInDoublePrecision AS Integer);
RETURN diffInInteger;
END;
$$ LANGUAGE plpgsql;
Díky za rady a zass někdy hoj.
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 42 hostů
Podobná vlákna
Porovnání datumů — založil xmas7
Trigger pro porovnání datumu s sysdate při vkládání záznamu — založil Anonymní uživatel
Seřazení podle datumu z dvou tabulek — založil T
Porovnani dvou poli — založil lol
Porovnani dvou stringu — založil insider
Moderátoři diskuze