gpt4 book ai didi

c# - DateTime.Compare(start, end) 在我的系统中导致奇怪

转载 作者:太空狗 更新时间:2023-10-30 00:30:42 26 4
gpt4 key购买 nike

enter image description here

在上图中,您可以看到startend 的值相同。但比较方法返回 -1,这意味着开始时间小于结束时间。这怎么可能?

我已经尝试在控制台应用程序中使用示例值来测试 comapre 方法,并且它工作正常。我认为这里可能是 datetime 对象的一些内部值不匹配。但是找不到。

这是代码。

DateTime start = Convert.ToDateTime(pi.StartTime), end = Convert.ToDateTime(pi.EndTime);

int t1 = DateTime.Compare(start, end);

if (t1 == 0)
{
MessageBox.Show("Start Time and End Time are same.");
return;
}
else if (t1 == 1)
{
MessageBox.Show("Start Time is greater then end time.");
return;
}

最佳答案

我建议与 tolerance 进行比较,例如修剪毫秒:

int t1 = DateTime.Compare(
new DateTime(start.Ticks - (start.Ticks % TimeSpan.TicksPerSecond), start.Kind),
new DateTime(end.Ticks - (end.Ticks % TimeSpan.TicksPerSecond), end.Kind));

关于c# - DateTime.Compare(start, end) 在我的系统中导致奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com