Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DateTime.Compare()在相同的日期时间返回1_C#_Entity Framework 6 - Fatal编程技术网

C# DateTime.Compare()在相同的日期时间返回1

C# DateTime.Compare()在相同的日期时间返回1,c#,entity-framework-6,C#,Entity Framework 6,我一直在努力通过EntityFramwork 6获取信息 基本上,我有一个API,我将日期传递给它,然后使用EntityFramework获取最新消息 现在,当我使用DateTime.Compare(date1,date2)时,结果是1,这是不正确的,因为日期相同 您可以在此图像中看到: 日期相同,但testd=1 你知道为什么会这样吗 代码如下: var result = ChatProvider .GetAllChatsForUser(memberUser.

我一直在努力通过EntityFramwork 6获取信息

基本上,我有一个API,我将日期传递给它,然后使用EntityFramework获取最新消息

现在,当我使用DateTime.Compare(date1,date2)时,结果是1,这是不正确的,因为日期相同

您可以在此图像中看到:

日期相同,但testd=1

你知道为什么会这样吗

代码如下:

var result = ChatProvider
                .GetAllChatsForUser(memberUser.UserName)
                .Where(x => x.FromUser.Equals(lastMessage.FromUser)).OrderBy(x => x.DateTimeCreated).LastOrDefault();

            var testd = DateTime.Compare(result.DateTimeCreated, Date);
谢谢

微软的展会(第565行)

像这样使用

var oneSecond = TimeSpan.FromSeconds(1);
var testd = DateTime.Compare(
    Round(result.DateTimeCreated, oneSecond),
    Round(Date, oneSecond));
微软的展会(第565行)

像这样使用

var oneSecond = TimeSpan.FromSeconds(1);
var testd = DateTime.Compare(
    Round(result.DateTimeCreated, oneSecond),
    Round(Date, oneSecond));

我们看不到图像中的值是相同的-我们只能看到最远的秒数。我猜它们有不同的亚秒值。尝试查看每个值的
Ticks
属性。我们无法看到图像中的值是相同的-我们只能看到秒数。我猜它们有不同的亚秒值。尝试查看每个值的
Ticks
属性。我将代码更改为传入Ticks而不是日期,然后使用比较方法。谢谢注意,这不是我的比较方法。这是内置的
DateTime。比较微软的
方法。我的建议是,在进行比较之前,对两个日期应用我的取整法。啊,是的,只是看了看。太匆忙了!在将刻度转换为日期时间后,我更新了代码以进行标准比较,它可以正常工作。谢谢我将代码改为传入刻度而不是日期,然后使用了比较方法。谢谢注意,这不是我的比较方法。这是内置的
DateTime。比较微软的
方法。我的建议是,在进行比较之前,对两个日期应用我的取整法。啊,是的,只是看了看。太匆忙了!在将刻度转换为日期时间后,我更新了代码以进行标准比较,它可以正常工作。谢谢
var oneSecond = TimeSpan.FromSeconds(1);
var testd = DateTime.Compare(
    Round(result.DateTimeCreated, oneSecond),
    Round(Date, oneSecond));