两个TDateTime,如何比较它们的大小,以及如何得到它们相差的minute数量?

解决方案 »

  1.   

    date1-date2;//天数
    (date1-date2)*24;//小时数
    (date1-date2)*24*60;//分钟数
    (date1-date2)*24*60*60;//秒数
      

  2.   

    女孩还是不要做程序员啦
    date1:=StrToDateTime('2005-10-9 08:10:20');
    date2:=StrToDateTime('2005-10-9 08:32:24');
      

  3.   

    伤心,这样打击人家。楼上的说的StrToDateTime我知道啊,可是这不是我问的问题。
    其实我是一时糊涂了,老想着java里的add、after之类的,其实你们只要告诉我直接用大于小于或者直接相减我就明白啦。不过,还有,如果拿楼上的两个数直接相减自然是得不到我要的minute的,还需要format之类的转化一下,如果楼上的这样告诉我我就会感激不尽啦,不过还是谢谢你,让我明白能不偷懒的时候还是不用偷懒比较好,这么简单的问题自己去查一下文档会最快的得到答案
      

  4.   

    MinutesBetween 
    Returns the number of minutes between two specified TDateTime values.UnitDateUtilsCategorydate/time routinesfunction MinutesBetween(const ANow, AThen: TDateTime): Int64;DescriptionCall MinutesBetween to obtain the difference, in minutes, between two TDateTime values. MinutesBetween counts only entire minutes that have elapsed. Thus, MinutesBetween reports the difference between 9:00:00 AM and 9:00:59:999 AM as 0 because the difference is one millisecond short of an entire minute.
      

  5.   

    如果拿楼上的两个数直接相减自然是得不到我要的minute的
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ShowMessage('2:'+DateTimeToStr(DateTimePicker2.DateTime)+#13+'1:'+DateTimeToStr(DateTimePicker1.DateTime)+#13+intToStr( round((DateTimePicker2.DateTime-DateTimePicker1.DateTime)*24*60)));ShowMessage(intToStr(round((DateTimePicker2.DateTime-DateTimePicker1.DateTime)*24*60)));//////怎么会呢
      

  6.   

    非常感激楼上的,还让我发现datetime routines其它很多有用的东东,谢谢!:)
      

  7.   

    gxgyj(Jackson...) 可以可以,是我错了。前面许是激动了一下,不够虚心,呵呵,反省。现在算是彻底弄清楚了,非常感谢大家!
    gxgyj(Jackson...)直接减的结果跟MinutesBetween的不同是小减大的时候,一个得到负值,一个始终是绝对值。在需要得到绝对值的情况下,相比MinutesBetween就方便多了,呵呵!