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