我真是F#的新手。下面是我尝试创建一个计算两个日期之间差异的函数。
let test date =
let today = DateTime.Now
let fromdate = DateTime.Parse(date)
let count = Convert.ToInt32(today - fromdate)
date
以上代码提示错误
System.InvalidCastException:无法转换类型的对象 ' System.TimeSpan'输入' System.IConvertible'。
答案 0 :(得分:1)
答案 1 :(得分:1)
两个日期时间之间的差异将为您提供TimeSpan object,您可以在其上进一步操作。这应该是函数中的最后一个语句,因为它将用作返回值。您可以在链接中查看各种属性和方法的MS文档。严格来说,这是BCL的一部分,所以它只是.NET而不仅仅是F#(你会在VB或C#中做同样的事情)。如果您想进一步优化您的功能,您还应该检查DateTime.TryParse
并处理未收到有效日期的可能性。
open System
let test date =
let today = DateTime.Now
let fromdate = DateTime.Parse(date)
(today - fromdate).Days
test "2017/12/31" // val it : int = -325