日期时间的计算,帮帮哥们了,最后36分,全部家当! ( 积分: 36 )

  • 主题发起人 主题发起人 darlingpeng
  • 开始时间 开始时间
D

darlingpeng

Unregistered / Unconfirmed
GUEST, unregistred user!
eg
开始时间为 2007-5-25:18:30
消耗时间为 5.5小时,怎么转换为05:30啊?
然后 再用开始时间 2007-5-25:18:30 加上 05:30 得出结束时间?
该怎么计算啊?
帮帮小弟了
 
有没有人知道的?
我现在急用
 
2007-5-25:18:30+5.5就是结束时间
 
to lcm40,
我试了,不行啊,报错
我用的是sql2000数据库
 
我用的是SQL2000
我说的是在SQL语句中怎么实现,不好意思啊,刚才没说明白
 
DECLARE @T1 DATETIME
DECLARE @T2 FLOAT
DECLARE @T3 DATETIME
SET @T1 = '2007-5-25 18:30'
SET @T2 = 5.5
SET @T3 = @t2 /24.0
SELECT @T1,@T1 + @T3
--1.0/24.0 代表一小时
 
Oracle里会做,SQL Server的不知道。[:(]
 
我试下看,
欢迎大家来讨论
 
to
yimen,
我用了你说的方法,不行啊,报错
有哪知道的,帮帮小弟了
 
declare @t1 datetime--开始时间
declare @h decimal(10,2)--消耗时间
declare @t2 datetime--返回结束时间
declare @hour int--取出小时数
declare @min int--取出分钟数
declare @str1 nvarchar(20)--临时变量
set @str1='2000-01-01 '--这个随意,我开始高为0000-00-00结果不行,呵呵,只好随便用一个了
set @t1='2000-01-01 12:00:00'--赋初值

set @h=16.5--赋初值
set @hour=@h--小时数
set @min=60*(@h-@hour)--分钟数
set @str1=@str1+cast(@hour as nvarchar(20))+':'+cast(@min as nvarchar(20))+':00'
set @t2=@str1

set @t2=@t1+@t2-'2000-01-01 00:00:00'
select @t2
算法有点烂,不过可以使用
 
create proc addtime
@t1 datetime,
@h decimal(10,2),

@t2 datetime out
as
declare @hour int
declare @min int
declare @str1 nvarchar(20)
set @str1='2000-01-01 '
--set @t1='2000-01-01 12:00:00'

--set @h=16.3
set @hour=@h
set @min=60*(@h-@hour)
set @str1=@str1+cast(@hour as nvarchar(20))+':'+cast(@min as nvarchar(20))+':00'
set @t2=@str1

set @t2=@t1+@t2-'2000-01-01 00:00:00'

--下面是调用
declare @t datetime
exec addtime '2000-01-01 12:00:00',18.2,@t out
select @t
--在SQL2000下调试通过
 
谢谢了
我用了下,yimen的最简单
 

Similar threads

D
回复
0
查看
928
DelphiTeacher的专栏
D
D
回复
0
查看
883
DelphiTeacher的专栏
D
D
回复
0
查看
856
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部