6 messaggi dal 05 luglio 2004
Cao a tutti!
chi è che mi sa dire come mai il DateDiff non funziona quando si tratta di sottrare due orari che sono in formato hh/mm//ss? (ore/minuti/secondi)
C'e qualche strada alternativa?
Grazie
Ciao
Raf
11.886 messaggi dal 09 febbraio 2002
Contributi
l'orario deve essere formattato in questo modo:
hh:mm:ss

se vuoi conoscere i minuti di differenza tra due orari prova con:

DateDiff("n", "15:25:00", "16:00:00")

in questo caso la funzione restituirà 30.
ciao

Enjoy learning and just keep making
3.122 messaggi dal 16 maggio 2002
BrightSoul ha scritto:
DateDiff("n", "15:25:00", "16:00:00")

in questo caso la funzione restituirà 30.

Uhm... non 35?!

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
6 messaggi dal 05 luglio 2004
scusate ragazzi,
non mi sono spiegato bene:
io non ho 2 orari, ma due variabili..
Mattina = DateDiff("h", myEndTime, nMattina)
che comunque rappresentano due date......
però non so come mai il datediff non gli va a genio e mi da come risultato cifre tipo 23/11/1900 13.00, capito?
11.886 messaggi dal 09 febbraio 2002
Contributi
Uhm... non 35?!

noooo perchè DateDiff è una funzione evoluta che sottrae automaticamente i 5 minuti della pausa caffè quando si tratta di calcolare gli stipendi dei dipendenti...



Mattina = DateDiff("h", myEndTime, nMattina)
che comunque rappresentano due date......
però non so come mai il datediff non gli va a genio e mi da come risultato cifre tipo 23/11/1900 13.00, capito?


mmh... puoi indicare i valori delle tue variabili?
Datediff restituisce un numero puro, mi sembra un po' strano che ti restiuisca una data.
Posta più codice.


Modificato da BrightSoul il 09 luglio 2004 14.54 -

Enjoy learning and just keep making
6 messaggi dal 05 luglio 2004
<%
Session.LCID=1040
Sub amtWorkDays2(start_date, end_date, StartTime, EndTime)
Dim amtWorkDays
' GET WORK DAYS IN A WEEK
myworkstartdate = start_date
myworkenddate = end_date
myworkstartdate = CDate(myworkstartdate)
myworkenddate = CDate(myworkenddate)
mytempworkday = myworkstartdate

do until mytempworkday = myworkenddate

' GET THE CONSTANT REPRESENTATION OF TODAY
mydaycase = Weekday(mytempworkday)
select case mydaycase

' DAYS TO EXCLUDE
case 1,7
mytempworkday = DateAdd("D", 1, mytempworkday)
case else
' IF THE DAYS ARE NOT EXCLUDED INCREMENT THE WORK DAY COUNT
'response.write mytempworkday & "<br>"
mytempworkday = DateAdd("D", 1, mytempworkday)
amtWorkDays = amtWorkDays + 1
conta = amtWorkDays
end select
loop
'Trasformo startime e endtime da stringhe a numeri
p1 = Left(StartTime, 2)
p2 = Mid(StarTime,4,2)
myStartTime = p1 & "." & p2 & ".00"
p3 = Left(EndTime, 2)
p4 = Mid(EndTime,4,2)
myEndTime = p3 & "." & p4 & ".00"

if myStartTime > myEndTime then
conta = conta - 1
end if
nSera = TimeSerial(17,30,00)
'sera= DateDiff("d",nSera,date + 1)

Sera = DateDiff("n", myStartTime, nSera)
nMattina = TimeSerial(08,30,00)
Mattina = DateDiff("n", nMattina, myEndTime)
'amtWorkDays = Sera + Mattina + (conta * 8)
risultato = Sera + Mattina + (conta * 8)
response.write(Sera)
response.write("<br>" & Mattina & "<br>")
response.write(conta)
End Sub


'response.write amtWorkDays("06/07/2004", "07/07/2004", "15:30", "16:30")
call amtWorkDays2("07/07/2004", "07/07/2004", "15:30", "09:10")

%>
11.886 messaggi dal 09 febbraio 2002
Contributi
puoi spiegare concettualmente cosa deve fare la tua procedura?
quel codice è un po' ingrarbugliato e ci sono alcune righe di codice superflue, credo si possa compattare il tutto.

ciao

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.