środa, 31 marca 2010

Modyfikownie daty w C#

Było o modyfikowaniu daty w Ruby. Teraz będzie trochę więcej o tym jak to się robi w C#.

Dodawanie godzin, minut i sekund



DateTime pozniej = DateTime.Now.AddHours(2); // dodajemy do obecnej daty dwie godziny do przodu
DateTime pozniej2 = pozniej.AddMinutes(35).AddSeconds(3); // do wcześniej zmodyfikowanej daty dodajemy 35 minut oraz 3 sekundy


Można także odejmować od daty dowolną ilość jednostek. Sprawa sprowadza się do dodania ujemnej wartości.


DateTime wczesniej = DateTime.Now.AddHours(-12); // data cofnięta o 12 godzin

Przykłady



DateTime data1 = DateTime.Now.AddDays(7); // dodajemy 7 dni do obecnej daty
DateTime data2 = DateTime.Now.AddMonths(3); // data przesunięta o 3 miesiące
DateTime data3 = DateTime.Today.AddYears(1); // Jaka będzie data gdy dodamy do obecnej jeden rok?
DateTime datat4 = DateTime.Parse("2008-02-29").AddYears(1); // 2009-02-28 00:00:00


DateTime.Today działa podobnie jak DateTime.Now z tą różnicą iż nie jest ustawiana aktualna godzina, tylko zawsze jest to 00:00:00.