2012-12-11 223 views
1

喜特定的日期和时间,我有以下代码:在ASP经典

Dim CurrentDate 
CurrentDate = Date() 

Dim intHour 
Dim intMinute 
Dim intSecond 

intHour = 17 
intMinute = 0 
intSecond = 0 

Dim NewDate 
Dim NewDate1 
Dim NewDate2 

NewDate = DatePart("yyyy", CurrentDate) 
NewDate1 = DatePart("m", CurrentDate) 
NewDate2 = DatePart("d", CurrentDate) 


Dim Dates 

Dates = DateSerial(NewDate, NewDate1, NewDate2) 

Dim Time 

Time = TimeSerial(intHour, intMonth, intSecond) 

我已经做了等于在VB:

Dim value As Date = Date.Now 
    Dim intHour As Integer 
    Dim intMinute As Integer 
    Dim intSecond As Integer 


    intHour = 17 
    intMinute = 0 
    intSecond = 0 

    Dim newdatetime As DateTime = New Date(value.Year, value.Month, value.Day, intHour, intMinute, intSecond) 

在VB中我可以做

Dim newdatetime As DateTime = New Date(value.Year, value.Month, value.Day, intHour, intMinute, intSecond). 

在我的ASP代码中,我有Dates = DateSerial(NewDate, NewDate1, NewDate2)Time = TimeSerial(intHour, intMonth, intSecond)。我怎样才能把它们放在一起,就像VB中的DateTime一样?

回答

4

两种方式:

dim h,n,s 
h = 17 
n = 1 
s = 2 

dim t 
t = timeserial(h,n,s) 

dim d 
d = date() 
dim ts1 
ts1 = dateadd("h",h, _ 
     dateadd("n",n, _ 
     dateadd("s",s, d))) 
dim ts2 
ts2 = d + T 

都产生相同的输出。有添加的人有一些陷阱,取决于你玩第一天的时间有多接近。我认为第一种方式是“更加安全”。据我记得,VBScript只是将日期部分存储在整数或浮点数中,将时间部分存储在浮点数的小数部分(作为24小时的一部分,因此12:00为0.5),因此您可以添加他们一起+

+0

谢谢,这帮助了我很多! – Paks