2012-08-05 49 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

相关问题