首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NCalc日期操作

NCalc日期操作
EN

Stack Overflow用户
提问于 2013-03-27 14:40:11
回答 4查看 3K关注 0票数 4

我在一个项目中使用NCalc。有没有一种方法可以像

#16/02/2013# - #15/02/2013# =1

我似乎无法产生结果。

代码语言:javascript
复制
Expression.Evaluate();

对于上述表达式,结果为空。我可以比较两个日期,但有没有办法使用NCalc对它们进行操作?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-27 14:57:57

不,NCalc库不允许这样做。

朗读这个相关的主题。

但是你可以用NCalc来做。

假设abDateTime类型,(a - b).TotalDays将返回天数。

票数 3
EN

Stack Overflow用户

发布于 2015-01-21 11:52:24

如果您乐于创建自定义函数,则可以很容易地在ncalc中完成此操作。

代码语言:javascript
复制
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());
票数 8
EN

Stack Overflow用户

发布于 2019-02-25 06:06:06

这对聚会来说已经很晚了,但我已经为NCalc建立了一个替代方案,称为表达性。这也可以作为nuget包装使用。

它最初是为匹配NCalcs功能而构建的,因此迁移应该只需要少量的工作。

您可以执行更多与日期相关的功能:

代码语言:javascript
复制
DaysBetween(#15/02/2013#, #16/02/2013#)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15661654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档