2012-08-05 47 views
0

我想知道從Now到多長時間的特定Weekday。 我到處搜索過,但無法找到任何東西。直到某個工作日或某個日期需要多長時間

我想我必須以某種方式使用DateDiff-功能和WeekDay-功能。

的方案是:

我有可變varWeekDay與周,前當天次數:1/2/3/4/5/6/7

而另一個變量varStartTime用一天的時間:HH:MM

而最後一個變量varStopTime也隨着一天的時間:HH:MM

if varWeekday = Weekday(now, 2) and varStartTime < formatdatetime(now, 4) then 
    .... Write how long time till start in hours/minutes 
elseif varWeekday = Weekday(now, 2) and varStartTime >= formatdatetime(now, 4) and varStopTime < formatdatetime(now, 4) then 
    response.write("Already started!") 
else 
    .... Write how long time till start in days/hours/minutes 
end if 

「多長時間」可能是這樣的:「從現在起2天,3小時和27分鐘」

應該從特定日期時間生成相同的輸出。例如:2012年6月8日23點55分是「1天13分鐘」

我真的希望你們能幫忙! :)

回答

1

我並沒有完全理解你需要的開始時間和結束時間,但是這個腳本會告訴你現在和一週中某一天的開始之間有多少時間。

<% 
Dim varNow : varNow = Now() 
Dim varWeekday : varWeekday = 7 'This is the weekday to look for (1 is Sunday, 7 is Saturday) 

'This next line sets the time to the start of the day 
Dim varThisDate : varThisDate = DateSerial(Year(varNow), Month(varNow), Day(varNow)) 
Dim varThisWeekday 
Do 
    varThisDate = DateAdd("d", 1, varThisDate) 
    varThisWeekday = Weekday(varThisDate) 
    If varThisWeekday = varWeekday Then 
     Exit Do 
    End If 
Loop 

'These next lines just convert and display the remaining time into the different units 
Response.Write("Until next " & WeekdayName(varWeekday) & "<br />") 

Dim varSeconds : varSeconds = DateDiff("s", varNow, varThisDate) 
Dim varDays : varDays = Int(varSeconds/60/60/24) 
varSeconds = varSeconds - (varDays * 24 * 60 * 60) 
Dim varHours : varHours = Int(varSeconds/60/60) 
varSeconds = varSeconds - (varHours * 60 * 60) 
Dim varMinutes : varMinutes = Int(varSeconds/60) 
varSeconds = varSeconds - (varMinutes * 60) 

Response.Write("Days: " & varDays & "<br />") 
Response.Write("Hours: " & varHours & "<br />") 
Response.Write("Minutes: " & varMinutes & "<br />") 
Response.Write("Seconds: " & varSeconds & "<br />") 
%> 
+0

對不起,對於遲到的答覆...它對我自己的項目稍作調整後就像一個魅力:)所以答案是好的! – Behrens 2012-08-16 09:16:40

相關問題