2012-08-05 2 views
0

Я хочу узнать, сколько времени существует до определенного Weekday от Now. Я искал везде, но ничего не могу найти.Сколько времени до дня или дня

Я ДУМАЮ, Я должен использовать функцию DateDiff вместе с функцией WeekDay.

Сценарий:

У меня есть переменная varWeekDay с днем ​​недели, например: 1/2/3/4/5/6/7

И другой переменной varStartTime с время: чч: мм

И последняя переменная varStopTime также со временем дня: чч: мм

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 минут»

Тот же вывод должен быть сгенерирован из определенного времени и времени. Пример: 06/08/2012 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

 Смежные вопросы

  • Нет связанных вопросов^_^