如何获得日期的整数。(50分)

  • 主题发起人 主题发起人 cao192
  • 开始时间 开始时间
C

cao192

Unregistered / Unconfirmed
GUEST, unregistred user!
我的一个坐标,横坐标为日期段,而且是可变的,比如2001-1-1与2000-12-31的时间段,<br>2001-1-1与2001-1-2都差一天,可我如何的出。
 
var<br>&nbsp;DateTime1,DateTime2: TDateTime<br><br>Round(DateTime1-DateTime2)
 
trunc(DateTime1-DateTime2)
 
decodedate(date,year,month,day);<br>help
 
应该是:trunc(DateTime1)-trunc(DateTime2)
 
日期型的值是实数型<br>其中整数部分是日期,单位为“日”<br>小数部分是时间,单位为毫秒
 
问题本身的答案已经有了,无须多说。<br><br>想指出萧兄一个失误——小数部分的单位还是日,而不是毫秒,如0.5代表12个小时。<br>TDateTime类型值就是以日为单位的Double数值。
 
round 和 trunc 是一样的,用哪个都行。
 
Round和Trunc是不一样的——<br><br>&nbsp; Label1.Caption := IntToStr(Round(1.5));//结果为2<br>&nbsp; Label2.Caption := IntToStr(Trunc(1.5));//结果为1<br>
 
另外,从datetime如何获得时间呢?
 
to cao192: TDateTime的小数部分就是啊。<br>如果你用D6,可以直接用DateUtils单元里的TimeOf函数,不然可以用Frac(SomeTime);取得。
 
还是用trunc吧,如果两个DateTime相差为一天半,那round就是两天了
 
接受答案了.
 
后退
顶部