为什么我不能在C#中将dateSentBefore和dateentAfter参数的值作为变量传递?

时间:2019-05-20 16:57:13

标签: c# twilio twilio-api

我必须用C#编写代码,以读取在dateentAfter和dateSentBefore之间发送的所有消息

using System;
using Twilio;
using Twilio.Rest.Api.V2010.Account;


class Program 
{
    static void Main(string[] args)
    {

        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken = "XXXXXXXXXX";

        TwilioClient.Init(accountSid, authToken);

        var messages = MessageResource.Read(
            dateSentBefore: new DateTime(2019, 3, 1, 0, 0, 0),
            dateSentAfter: new DateTime(2019, 1, 1, 0, 0, 0),
            limit: 20
        );

        foreach(var record in messages)
        {
           Console.WriteLine(record.Sid);
        }
    }
}

代码完全像这样工作。它列出了所有消息。

但是,当我不对日期进行硬编码时,我将其作为变量传递时,代码运行时没有错误,但不会为我返回任何消息。

class Program 
{
    static void Main(string[] args)
    {
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken = "XXXXXXXXXX";
        int be_yyyy = 2019;
        int be_mm = 5;
        int be_dd = 20;
        int af_yyyy = 2019;
        int af_mm = 5;
        int af_dd = 19;
        TwilioClient.Init(accountSid, authToken);

        var messages = MessageResource.Read(
            dateSentBefore: new DateTime(be_yyyy, be_mm, be_dd, 0, 0, 0),
            dateSentAfter: new DateTime(af_yyyy, af_mm, af_dd, 0, 0, 0),
            limit: 20
        );

        foreach(var record in messages)
        {
           Console.WriteLine(record.Sid);
        }
    }
}

谁能告诉我为什么我不能这样做?还是我做错了什么?

1 个答案:

答案 0 :(得分:0)

回复真的很晚,所以您可能已经有了答案,但在寻找我自己问题的答案时发现了这个问题。

您正在寻找4 月 19 日 00:00 之后的消息 AND 4 月 20 日 00:00 之前的消息

所以您获得了4 月 19 日的数据。

如前所述,您使用的输入与第一个示例不同,请尝试使用相同的输入。第一个示例查看 2 个月的数据,因此其中更有可能包含数据。并查看19号是否有数据可查找。代码看起来不错。