C# में DateTime एक अपरिवर्तनीय ऑब्जेक्ट है, जिसमें तारीख और समय, दोनों की जानकारी होती है। तारीख और समय की जानकारी इसकी अंतर्निहित प्रॉपर्टी की मदद से प्राप्त की जा सकती है।
किसी DateTime में बदलाव करने के लिए उसके मेथड में से किसी एक को कॉल किया जाता है। चूँकि DateTime वैल्यू बनने के बाद कभी बदल नहीं सकती, इसलिए जो मेथड DateTime में बदलाव करते दिखते हैं, वे असल में एक नई DateTime लौटाते हैं।
DateTime वैल्यू की तुलना डिफ़ॉल्ट तुलना ऑपरेटर (<, >, आदि) से की जा सकती है। वर्तमान तारीख (और समय) DateTime.Now प्रॉपर्टी से प्राप्त की जा सकती है।
C# में तारीखों से जुड़ी एक खास बात यह है कि वे कल्चर पर निर्भर होती हैं। इसलिए string से जुड़ा कोई भी DateTime मेथड मौजूदा कल्चर पर निर्भर होगा। इसमें वह DateTime.Parse() मेथड भी शामिल है जो एक string को DateTime में बदलता है, और DateTime क्लास का वह ToString() मेथड भी, जो एक DateTime को string में बदलता है।