DateTime

DateTime on struct, joka esittää ajanhetkeä (päivämäärä ja kellonaika).
// Tämä hetki
DateTime nyt = DateTime.Now;
// Tänään (klo. 0.00)
DateTime tanaan = DateTime.Today;
// Tämä hetki, utc (Coordinated Universal Time)
DateTime utc = DateTime.UtcNow;
// 1.1.2011 klo 0.00:00
DateTime uusivuosi = new DateTime(2011, 1, 1, 0, 0, 0);

Tulostusmuotoilut

Ajan saa tekstiksi ToString() -metodilla, jolle voi antaa tietyn formaatin parametrina.
// esim.    ke 18.08.2010 klo. 10:32:54
string s2 = DateTime.Now.ToString("ddd dd.MM.yyyy klo. HH:mm:ss");

Muotoilussa käytettävät "koodit"

Koodi Millä korvataan
d Päivä yhdellä numerolla (ilman mahdollista etunollaa)
dd Päivä kahdella numerolla
ddd Päivän nimen lyhyt muoto (esim. ma,ti...)
dddd Päivän nimi kokonaan
M Kuukausi yhdellä numerolla (ilman mahdollista etunollaa)
MM Kuukausi kahdella numerolla
MMM Kuukauden nimen lyhyt muoto (esim. elo)
MMMM Kuukauden nimi kokonaan
y Vuosi yhdellä numerolla
yy Vuosi kahdella numerolla
yyy Vuosi kolmella numerolla
yyyy Vuosi neljällä numerolla
h Tunti yhdellä numerolla, 12h-järjestelmä
hh Tunti kahdella numerolla, 12h-järjestelmä
H Tunti yhdellä numerolla, 24h-järjestelmä
HH Tunti kahdella numerolla, 24h-järjestelmä
m Minuutit yhdellä numerolla (ilman mahdollista etunollaa)
mm Minuutit kahdella numerolla
s Sekunnit yhdellä numerolla (ilman mahdollista etunollaa)
ss Sekunnit kahdella numerolla
f Sekunnin kymmenesosat
ff Sekunnin sadasosat
fff Sekunnin tuhannesosat (lisää f-kirjaimia, tarkkuus kasvaa)
F sama kuin f, paitsi arvoa 0 ei näytetä
FF sama kuin ff, paitsi arvoa 0 ei näytetä
FFF sama kuin fff, paitsi arvoa 0 ei näytetä
K Aikavyöhyke
z Aikaero verrattuna utc:hen tunteina ilman etunollia
zz Aikaero verrattuna utc:hen tunteina
zzz Aikaero verrattuna utc:hen tunteina ja minuutteina
: Kellonajan erotinmerkki
/ Päivämäärän erotinmerkki
g Aikakausi
gg Aikakausi

TimeSpan

TimeSpan esittää aikaeroa
// 1.1.2011 klo 0.00:00
DateTime uusivuosi = new DateTime(2011, 1, 1, 0, 0, 0);

// lasketaan aikaero
TimeSpan ts = uusivuosi - DateTime.Now;
// TimeSpan sisältää arvot kokonaisille päiville, tunneille, minuuteille, sekunneille ja millisekunneille
string s = string.Format("Uuteen vuoteen on aikaa {0} päivää, {1} tuntia, {2} minuuttia ja {3} sekuntia", ts.Days, ts.Hours, ts.Minutes, ts.Seconds);
// TimeSpan sisältää aikaeron kokonaan myös kullakin aikayksiköllä (Total-alkuiset)
// esim. 135.53769346325925 päivää
double paivina = ts.TotalDays;

// 2 tuntia 30 minuuttia
TimeSpan ts2 = new TimeSpan(2, 30, 0);
// Kahden ja puolen tunnin päästä
DateTime dt = DateTime.Now + ts2;