Tom*_*cek 11
有一个标准的SI单位'秒'可用于表示时间.您需要引用FSharp.PowerPack.dll,然后您可以使用以下内容:
open Microsoft.FSharp.Math
let minute = 60<SI.s>
let twoMinutes = minute * 2
Run Code Online (Sandbox Code Playgroud)
没有内置单位的分钟/小时等,因为这些不是标准单位(实际上只有几秒乘以一些数字).但是,如果需要,您也可以定义分钟:
[<Measure>]
type mins =
static member of_seconds(sec) = sec / 60<SI.s> * 1<mins>
// converting seconds to minutes
let timeInMinuts = mins.of_seconds(twoMinutes)
Run Code Online (Sandbox Code Playgroud)
如果您有问题,则不能使用标准System.DateTime类型的单位,但您可以创建一个以所需单位公开实际时间(秒/分钟)的包装器:
open System
type DateTimeUnits(dt:DateTime) =
static member Now = new DateTimeUnits(DateTime.Now)
member x.Second = dt.Second * 1<SI.s>
member x.Minute = dt.Minute * 1<mins>
Run Code Online (Sandbox Code Playgroud)
看来时间可以在其中:
但是,即使不是,您也可以编写自己的单位。
MS 的这篇文章也可能有用,具体取决于您想要的单位。 http://msdn.microsoft.com/en-us/library/dd233243%28VS.100%29.aspx