按整数与日期时间排序

时间:2013-05-04 03:28:03

标签: .net sorting datetime integer

我说的是从.NET的角度来看,但这可以扩展到使用类似逻辑的其他语言或框架。

假设在使用DateTime属性对对象进行排序时,将DateTime值转换为Ticks(即长整数)以进行比较是否正确?因此,按DateTime排序的速度(如果有的话)比按整数排序的速度慢很多?

2 个答案:

答案 0 :(得分:2)

是的,它比较了滴答声。这是实际的实施:

public int CompareTo(DateTime value) {
    long valueTicks = value.InternalTicks; 
    long ticks = InternalTicks; 
    if (ticks > valueTicks) return 1;
    if (ticks < valueTicks) return -1; 
    return 0;
}

答案 1 :(得分:-1)

您可以使用TicksPer constants

Here是链接

Module Module1
    Sub Main()
    ' Display these constants.
    Console.WriteLine(TimeSpan.TicksPerDay)
        Console.WriteLine(TimeSpan.TicksPerHour)
    Console.WriteLine(TimeSpan.TicksPerMinute)
    Console.WriteLine(TimeSpan.TicksPerSecond)
    Console.WriteLine(TimeSpan.TicksPerMillisecond)
    End Sub
End Module

输出

864000000000
36000000000
600000000
10000000
10000