F# 中的 DateTime 是一个不可变对象,同时包含日期和时间信息。日期与时间信息可以通过它内置的属性访问。
要操作 DateTime,可以调用它的某个方法。由于 DateTime 值一经定义就永远不会改变,所有看似会修改 DateTime 的方法实际上都会返回一个新的 DateTime。
可以使用默认的比较运算符(<、>等)来比较 DateTime 实例。当前的日期(和时间)可以通过 DateTime.Now 属性获取。
F# 中日期的一个重要特点是它们依赖于区域性。因此,任何处理 string 的 DateTime 方法都会依赖于当前的区域性。这包括把 string 解析为 DateTime 的 DateTime.Parse() 方法,以及把 DateTime 转换为 string 的 DateTime 类的 ToString() 方法。
在 sprintf 调用中使用 DateTime 时,可以不必手动把 DateTime 转换为 string 再使用 %s 字符串占位符,而改用 %O 占位符,它会自动把 DateTime 转换为对应的 string 值。