如何在将已发布的bot项目代码发布到azure web app后解决日期时间问题

时间:2016-12-21 10:56:38

标签: c# datetime bots botframework azure-web-app-service

我正在研究Bot Technology,在我目前的Bot项目中,我实现了“基于时间,我的机器人向用户致敬,如早安,晚安和晚安”。

为此,我在 MessagesController.cs

中编写了以下代码行
    var hour = todaydate.Hour;
    string sessionOfDay = "";

    if (hour >= 12 && hour <= 17)
    {
        sessionOfDay = "Afternoon";

    }
    else if (hour > 17 && hour <= 23)
    {
        sessionOfDay = "Evening";

    }
    else
    {
        sessionOfDay = "Morning";
    }

以上代码在我的本地计算机上正常工作。但是当我将我的bot项目发布到azure web app时。之后,我的机器人根据服务器时间而不是当地时间向用户表示问候。

您能否告诉我如何解决上述问题?

-Pradeep

1 个答案:

答案 0 :(得分:0)

一般情况下,除非您的用户与您分享他们的位置,否则您无法知道他们所在的时区。对于选择共享其位置的用户,您可以计算服务器时间之间的偏差(UTC(+0) )和用户的时区。

您可以考虑明确询问用户的位置并使用新的位置控件:https://github.com/Microsoft/BotBuilder-Location进行验证