プロジェクトで NCalc を使用しています。次のような日付操作を行う方法はありますか
#16/02/2013# - #15/02/2013# = 1
結果を出せる気がしない。
Expression.Evaluate();
上記の式の結果は null です。2 つの日付を比較できますが、NCalc を使用してそれらを操作する方法はありますか?
カスタム関数を作成することに満足している場合は、ncalc でこれを非常に簡単に行うことができます。
Expression e = new Expression("DayDiff(#16/02/2013#, #15/02/2013#)");
e.EvaluateFunction += delegate(string name, FunctionArgs args)
{
if (name == "DayDiff")
{
var date1 = args.Parameters[0].Evaluate();
var date2 = args.Parameters[1].Evaluate();
var timespan = date2 - date1;
return timespan.TotalDays; // double (you can convert to int if you wish a whole number!)
}
}
Console.Write(e.Evaluate());
DateTime Date1, Date2;
Date1 = DateTime.Parse("2013-03-27 8:42:00");
Date2 = DateTime.Parse("2013-03-27 8:42:26");
TimeSpan TimeSpan1 = Date2 - Date1;
double DayDifference = TimeSpan1.TotalDays;