首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nesper engine/C#:内部当前时间问题

Nesper engine/C#:内部当前时间问题
EN

Stack Overflow用户
提问于 2017-09-17 18:34:57
回答 1查看 75关注 0票数 0

我在C#中使用的是Nesper引擎(http://www.espertech.com/esper/nesper.php),我遇到了一个问题。

当尝试检索引擎的内部时间时,返回的日期似乎是错误的,因为它是截至昨天的日期。

下面的代码是一个重现问题的虚拟示例。据我所知,'engineTime‘和'DateTime.UtcNow’应该是相等的,但事实并非如此。

代码语言:javascript
运行
复制
using com.espertech.esper.client;
using System;

namespace NesperDate_bug
{
    class Program
    {        
        static void Main(string[] args)
        {
            EPServiceProvider _esperSvc = EPServiceProviderManager.GetProvider("test", new Configuration());

            DateTime engineTime = Nesper2DateTime(_esperSvc.EPRuntime.CurrentTime);

            Console.WriteLine("Esper engine time:\t" + engineTime);
            Console.WriteLine("System utc time:\t" + DateTime.UtcNow);
            Console.ReadKey();
        }

        private static DateTime Nesper2DateTime(long millisec)
        {
            return new DateTime(millisec * 10000);
        }
    }
}

我在控制台中得到的结果是:

代码语言:javascript
运行
复制
Esper engine time:    16/09/2017 10:30:25
System utc time:      17/09/2017 10:30:25

问题是来自Nesper,还是我的'Nesper2DateTime‘函数错误?

谢谢你的帮忙

EN

回答 1

Stack Overflow用户

发布于 2017-09-18 02:44:25

在查看了Nesper的源代码后,我的'Nesper2DateTime‘函数似乎是错误的。当使用Nesper的'DateTimeHelper.UtcFromMillis‘函数时,它可以工作。

以下是

代码语言:javascript
运行
复制
using com.espertech.esper.compat;
DateTime engineTime = DateTimeHelper.UtcFromMillis(_esperSvc.EPRuntime.CurrentTime);

返回正确的日期。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46263111

复制
相关文章

相似问题

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