Showing posts with label date. Show all posts
Showing posts with label date. Show all posts

Friday, January 29, 2016

DateTime struktura, rad sa datumima i vremenom u C# programskom jeziku


Za razliku od klase String koja predstavlja rad sa tekstom i klase Math koja predstavlja rad sa matematičkim formulama, DateTime struktura predstavlja rad sa datumima i vremenom. Međutim, DateTime nije klasa već struktura. To znači da DateTime nije referentni tip podataka, već vrednosni tip podataka. To takođe znači, da kad god radite sa datumima; u memoriji se pravi nova instanca strukture DateTime što može uticati na performanse programa. U C# programskom jeziku ne postoji Date tip podataka kao u Visual Basic-u već je Date samo properti strukture DateTime.


( Za datum i vreme se koristi DateTime struktura u C# programskom jeziku )

DateTime struktura nije nullable tip podataka i nema vrednost null.

Type type = typeof(DateTime);
if (type.IsValueType) WriteLine("True"); else WriteLine("False");  // Result True

Ukoliko ne izvršite inicijalizaciju strukture DateTime, jednostavno će te dobiti minimalnu vrednost.

DateTime date = new DateTime();
WriteLine(date.ToString()); // 1/1/0001 12:00:00 AM
WriteLine(DateTime.MaxValue.ToString()); // 12/31/9999 11:59:59 PM   

U situacijama kad vam treba datum koji će predstavljati vrednost sa kojom možete reći korisniku da datum nije pronađen, ili da hoćete da je datum jednak 0; što nije moguće za strukturu DateTime u kodiranju; tada koristite minimalnu vrednost strukture DateTime.

if (date == DateTime.MinValue) WriteLine("False"); else WriteLine("True"); // Result False

Kako da inicijalizujemo neki određen datum?