2009-08-27 7 views

答えて

10

時間を表すために使用できる標準的なSI単位「秒」があります。あなたはFSharp.PowerPack.dllを参照する必要がないだろうと、あなたは、次を使用することができます。

open Microsoft.FSharp.Math 

let minute = 60<SI.s> 
let twoMinutes = minute * 2 

これらは、標準的な単位ではありません(実際にあるので、内蔵された単位分/時間などのために何がありますが、数秒に数を掛けたもの)。 (それはyou'r問題だ場合は、標準のSystem.DateTimeタイプのユニットを使用することはできません

[<Measure>] 
type mins = 
    static member of_seconds(sec) = sec/60<SI.s> * 1<mins> 

// converting seconds to minutes 
let timeInMinuts = mins.of_seconds(twoMinutes) 

ていますが、実際の時間を公開するラッパーを作成することができます。しかし、あなたがしたい場合は、あまりにも数分を定義することができます秒/分)を入力します。

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> 
関連する問題