CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  网络通信/分布式开发

怎样得到两个日期之间的天数?

楼主lifeexpert()2004-07-02 23:18:43 在 Delphi / 网络通信/分布式开发 提问

date1:='yyyymmdd'   如:'20040302';  
  date2:='yyyymmdd'   如:'20030809'  
  它们之间的天数? 问题点数:0、回复次数:19Top

1 楼zhangfeng1133()回复于 2004-07-02 23:48:42 得分 0

vb中又这样的函数dateserial()哈哈,你试一下啊  
   
  哈哈Top

2 楼lifeexpert()回复于 2004-07-03 00:26:28 得分 0

DaysBetween?Top

3 楼iBuilder(夏桑菊)回复于 2004-07-03 00:49:14 得分 0

都转成   TDatetime类型,然后相减就可以吧Top

4 楼iBuilder(夏桑菊)回复于 2004-07-03 00:59:56 得分 0

var  
      i:Extended;  
  begin  
      i:=   StrToDateTime('2004-04-30')-StrToDateTime('2003-04-03');  
      ShowMessage(FloatToStr(i));  
  end;Top

5 楼ultima_thule(ultima_thule)回复于 2004-07-03 10:52:49 得分 0

在DELPHI中,日期时间型本身就是浮点数,可数值运算!日期是整数部分,时间是小数部分!  
  Top

6 楼xhai(小小)回复于 2004-07-03 14:17:59 得分 0

DaysBetween(   ANow,   AThen:   TDateTime)Top

7 楼zhb79(zhb)回复于 2004-07-03 14:24:58 得分 0

两个相减就可以了.Top

8 楼zhanglei19820319(阿磊)回复于 2004-07-04 12:22:51 得分 0

var  
      i:Extended;  
  begin  
      i:=   StrToDateTime('2004-04-30')-StrToDateTime('2003-04-03');  
      ShowMessage(FloatToStr(i));  
  end;  
   
   
  显示的结果为什么是:393呢Top

9 楼zhanglei19820319(阿磊)回复于 2004-07-04 12:24:53 得分 0

那说明这一种方法是正确的Top

10 楼micher_yan(人在江湖飘)回复于 2004-07-04 13:31:11 得分 0

哥们,给你一个最简单的,  
  var  
      d1,d2:   TDateTime;  
      num     :   Double;  
  begin  
      ....  
          num:=   Double(d1)-Double(d2);  
      ....  
  end;  
  呵呵,num就是两个日期之间的double值,整数就是你要的天数……,如果不符合你的要求,可以实现对d1和d2进行处理,去掉时间部分Top

11 楼PDK(长亭外)回复于 2004-07-06 17:14:40 得分 0

DaysBetween(   ANow,   AThen:   TDateTime)  
  Top

12 楼wing_er(http://www.im56.com/bbs/)回复于 2004-07-13 15:52:58 得分 0

DaysBetweenTop

13 楼lionlsl(林)回复于 2004-07-14 00:50:14 得分 0

一种方法:  
  Delphi6   syntax:  
  function   DaysBetween(const   ANow,   AThen:   TDateTime):   Integer;  
  另一种方法:  
  var   a:integer;  
      d1,d2:TDatetime;  
  begin  
      d1:=.....;  
      d2:=.....;  
      a:=round(int(d1))-round(int(d2));      
      //先用int去除日期中的小数部分(也就是只留下年月日部分),再用round取整后相减。  
  end  
  Top

14 楼notchy(notchy)回复于 2004-07-16 16:46:31 得分 0

trunc(date1-date2)+1  
  给分吧Top

15 楼ludingping(http://blog.csdn.net/ludingping)回复于 2004-07-17 02:22:00 得分 0

ThanksTop

16 楼terroy(terroy)回复于 2004-07-17 09:12:58 得分 0

DaysBetween  
  Top

17 楼WuChenCan(雨中男孩)回复于 2004-07-17 09:52:36 得分 0

可以直接相减啊!Top

18 楼saqimi(优游鱼)回复于 2004-07-19 08:50:29 得分 0

原来是这样啊Top

19 楼bxh2dai(希望明天会有些改变)回复于 2004-07-19 08:53:47 得分 0

两个相减就可以了.  
  Top

相关问题

  • 怎样得到天数?
  • 日期相减如何得到天数!
  • SQLServer 中如何处理两个日期相减得到天数?
  • 如何把两个日期相减得到天数
  • 如何得到两个日期之间的天数
  • 请问如何根据日期年份得到相差天数?
  • Access中如何得到两个日期间的天数?
  • 如何得到两个日期之间的天数
  • 如何得到2个日期间的天数啊
  • 如何简单实现日期加上天数得到另外一个日期?

关键词

  • date
  • 天数
  • tdatetime
  • anow
  • daysbetween
  • strtodatetime
  • 日期
  • athen
  • 部分
  • round

得分解答快速导航

  • 帖主:lifeexpert

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo