Obiekty NSDate reprezentują pojedynczy punkt w czasie. NSDate to klaster klas; jego pojedyncza publiczna nadklasa, NSDate, deklaruje interfejs programistyczny dla określonych i względnych wartości czasu. Obiekty utworzone za pomocą NSDate nazywane są obiektami daty. Są niezmiennymi obiektami. Ze względu na charakter klastrów klas obiekty zwracane przez klasę NSDate są instancjami nie tej klasy abstrakcyjnej, ale jednej z jej prywatnych podklas.