主题:哪位高手给一个计算任何两天相差小时的程序
fenglibing
[专家分:0] 发布于 2008-01-07 20:51:00
哪位高手能给个程序,能计算出两个日期之间相差多少个小时(要考虑闰年、闰月的问题,不只是同一年哟)!谢谢!
回复列表 (共5个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2008-01-08 15:59:00
直接减就行了!
板凳
moz [专家分:37620] 发布于 2008-01-08 18:16:00
你混VB混糊涂了.
3 楼
强强 [专家分:4740] 发布于 2008-01-08 20:00:00
晕,MOZ果然是强,连回复都这么强,佩服佩服……
4 楼
moz [专家分:37620] 发布于 2008-01-08 21:25:00
其实很早以前有讨论过相关问题的,
[url]http://www.programfan.com/club/post-90247-2.html[/url]
但现在那么冷淡,连观众都找不到,也就没有了回贴的热情了.
以下是一个计算某天(date$格式)是公元后第几天的函数,
可以用来计算星期几,也可以用来计算两个日期的天数之差.
(微软有些编程工具中好像忽略了某一天的闰日
在EXCEL里,存在一个日期问题(很小很小的一个错误)
它把1900年当成了闰年,2月份多出了一个29号了
(1900-3-1)减(1900-2-28)等于2天
比VFP,VB都多出了一天,)
[quote]
print "今天是星期";mid$("日一二三四五六",(Date2Number&(date$) mod 7)*2+1,2)
deflng a-z
FUNCTION Date2Number& (d$)
y = VAL(MID$(d$, 7, 4)) '获得日期中的年份
m = VAL(d$) '月份
d = VAL(MID$(d$, 4, 2)) '日期
r = ((y MOD 4 = 0 AND y MOD 100 <> 0) OR (y MOD 400 = 0)) '闰年判断
y = y - 1 '因为不累计今年的原因,减少一年计算
Date2Number& = (y * 365 + y \ 4 - y \ 100 + y \ 400 + VAL(MID$(" 0 31 59 90120151181212243273304334", m * 3, 3)) + r * (m > 2) + d)
END FUNCTION[/quote]
有了这个函数,有了天数差,乘上24小时/天,再加上两天的小时差,不就有答案了吗?
希望楼主不要是饭来张口的人啊.
5 楼
fenglibing [专家分:0] 发布于 2008-01-22 13:30:00
果然高手,我不是想图省力呀!
自己做了一个但总觉得不太好,学习学习!
我来回复