算法求解:任意时间段的天数计算(100分)

  • 主题发起人 主题发起人 liuyongsu
  • 开始时间 开始时间
L

liuyongsu

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟在此先行谢过,下面介绍一下实际的问题

关于电视广告播放次数的计算:某电视频道,需要投放多种类型的广告,一个类型的电视广告每天播放一次,可能播放几天、几个月甚至一年的时间,已知广告播放的起始时间和结束时间(如3月份播放情况:从3月1日-3月29日,又如2007年播放情况:从2月2日至8月28日),现在我需要对某种类型的广告在任意时间段的播放次数进行统计,如我需要统计3月份某广告的播放次数(3月1日至3月31日),又如(3月3日至5月6日)。
现在需要解决的问题是:如何计算任意时间段中的天数(如2月5日至9月24日),如何根据起始时间和结束时间来计算出播放次数(如某广告的播放起始时间是3月2日-6月4日,我要统计5月-6月的播放次数),看起来比较简单的问题,不过小弟陷入死角,希望高手们能从SQL或VB或DELPHI某种语言的角度帮忙解决,小弟感激不尽。
SQLSERVER数据库字段:广告名称(字符串)、起始时间(日期)、结束时间(日期)
 
这应该不是一个难事,注意闰年的判定就行了
 
这有专门的函数了
 
day := 1 + Trunc(StrToDate(FormatDateTime('YYYY-MM-DD', DP2.Value)) - StrToDate(FormatDateTime('YYYY-MM-DD', DP1.Value)))
//获得两个时间间的天数
dp2.value和DP1.VALUE就是日期型值!
记得给分啊!
 
uses DateUtils;

day:=Dayof(Date1)-dayof(date2)
 
直接使用这个函数就好。
function DaysBetween(const ANow, AThen: TDateTime): Integer;
 
谢谢大家了,因为考虑的方向,陷入死角了。
 

Similar threads

回复
0
查看
848
不得闲
D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
D
回复
0
查看
840
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部