主题:  如何计算任意几天的时间差,输出为n小时n分n秒。-十万火急

孤月寒星

职务:普通成员
等级:1
金币:1.0
发贴:189
#12004/10/10 18:09:00
如:

N="2004-9-20 15:30:50"

M="2204-10-10 11:23:10"

输出时间差为:*小时*分*秒


各位兄弟,摆脱帮忙,十万火急! 谢谢



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#22004/10/10 20:13:24
给你个例子:
<%
D1 = #2004-9-20 16:56:23#
D2 = #2004-6-3 15:22:08#
Response.Write D1 - D2
%>

输出天数:
109.065451388888

你可以换算一下了


非常大鱼

孤月寒星

职务:普通成员
等级:1
金币:1.0
发贴:189
#32004/10/10 22:44:27
大哥,这么简单的道理我试验过了

无法得到准确的数值



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#42004/10/11 0:20:05
我也没试过是否是精确,只要把小数点个*24就得出小时数,再小数*60得出分,以些类推。我也不想验证是否很精确。

如果你验证这个不精确的话,就先把日期与时间分开,日期 - 日期,时间 - 时间。当然日期可能直接减,时间就要先得得到小时,分、秒,然后写后函数就可得到差值了。

我把自己想法说了,后面的就是你做了。

如果你用ASP.net的话,就很简单了,有TimeSpan类可以轻松表示了。


非常大鱼

蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#52004/10/11 1:29:57
我给你你计算出来了
109天1小时34分14.9999999秒
这还不精确吗?

看来你比我躁得多。


非常大鱼

孤月寒星

职务:普通成员
等级:1
金币:1.0
发贴:189
#62004/10/11 8:23:41
好象不对,如果后边的n小时n分n秒,比前边n小时n分n秒小,比如15:30:50就比11:23:10小。就计算不出来了。

求ASP原代码,再请高人。



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#72004/10/11 9:11:09
<%
D1 = #2004-9-20 15:30:50#
D2 = #2004-9-23 11:23:10#
Response.Write D2 - D1
%>
输出:2.82800925926131
换算成:2天19时52分20秒

也就是( 2004-9-22 34:82:70 )
  - ( 2004-9-20 15:30:50 )

具体先取 2 天
.82800925926131* 24 = 19.87222222227144 取19小时
.87222222227144 *60 = 52.3333333362864 取52秒
.3333333362864 * 60 = 20.000000177184 取20秒

这些都是写程序的基本功,原封的代码,还要自己写,这里不会给你写好的代码的。

编辑历史:[此帖最近一次被 蓝鲸 编辑过(编辑时间:2004-10-11 09:19:12)]

非常大鱼