DateTimeOffset比较不起作用

时间:2014-07-22 19:21:12

标签: c# datetimeoffset

我正在尝试比较DateTimeOffset类型。我正在检查开始日期是否不大于结束日期,但即使开始日期不大于结束日期,它也会失败。

我调试了这个抛出异常的代码。起始值为2013年8月29日,结束日期为9/1/2014。

示例代码:>

public IEnumerable<RecruitingPerformance> GetDailyRecruitingPerformance(DateTimeOffset start, DateTimeOffset end, int? userId, int? projectId)
{
    if (end > DateTimeOffset.UtcNow)
    {
        throw new ArgumentException("End date must be today or before.", "end");
    }
    if (start > end)
    {
        throw new ArgumentException("Date must be greater than or equal to start", "end");
    }

故障点图片:&gt; enter image description here

以下是非信徒的两个对象的图片: enter image description here

1 个答案:

答案 0 :(得分:1)

为什么不使用DateTimeOffset.Compare()方法?

DateTimeOffset start = new DateTimeOffset(2013, 8, 29, 12, 0, 0, new TimeSpan(-5, 0, 0));
DateTimeOffset end = new DateTimeOffset(2014, 9, 1, 12, 0, 0, new TimeSpan(-5, 0, 0));

// if compare brings back 1, start is greater than end
if(DateTimeOffset.Compare(start, end) > 0)
    throw new ArgumentException("Date must be greater than or equal to start", "end");