VB6: Confronti fra date

martedì 24 marzo 2009 - 12.51

Sig. Travis Profilo | Junior Member

Ciao ragazzi,
sto sviluppando un codice che mi consenta di effettuare determinate operazioni a fronte del risultato del confronto fra date convertite in numeri.
A seconda di un codice letto su un record di una tabella access, interfaccio un documento xml che mi indica se devo effettuare il controllo delle date nell'arco temporale di 24h oppure di n giorni.
Leggo quindi il timestamp dell'operazione sulla tabella access e tramite la funzione datediff mi prendo la data in giorni o ore nella seguente maniera:

' lMAxDiffDate = Intervallo di tempo, in minuti o in giorni da applicare al timestamp letto
' sull'operazione da rifasare il cui risultato è da confrontare con il timestamp attuale.
lMaxDiffDate = GetMaxDiffDate(sCodCau)
lRealOpNumber = g_DD.LogField(APPLICATION_NAME, ROLE_NAME, SERVICE_LOGFIELD_NUMOP)
Trace eInfoMsg, 0, sTrHeader & " - Current Record - NumOp = " & lRealOpNumber

' Lettura Campo
' Verifico Che Non Sia Scaduto Il Periodo Massimo Per L'Invio
dtTimeStamp = g_DD.LogField(APPLICATION_NAME, ROLE_NAME, LOGFIELD_DATETIME)

' Acquisizione Data di Stampa per il Giornale di Fondo
dTrDataOraOp = Now()
Trace eInfoMsg, lTrLevel, sTrHeader & ": Timestamp di adesso " & dTrDataOraOp
sData = Format(Now(), "DD/MM/YYYY HH:nn:ss")

'Inserisco un controllo sul campo Causale per sapere se si tratta di un'operazione
' di Invio Giornale di Fondo; se è così lavoro sui giorni, altrimenti lavoro sulle 24h
If sCodCau = "111" Then
lDiffDate = DateDiff("d", dtTimeStamp, Now(), vbMonday, vbFirstJan1)
Trace eInfoMsg, 0, sTrHeader & " Causale 111 - Confronto in giorni " & lDataConfr
lDataConfr = lMaxDiffDate + lDiffDate
Else
lDiffDate = DateDiff("n", dtTimeStamp, Now(), vbMonday, vbFirstJan1)
Trace eInfoMsg, 0, sTrHeader & " Altre Causali - Calcolo in minuti " & lDiffDate
lDataConfr = lMaxDiffDate + lDiffDate
Trace eInfoMsg, 0, sTrHeader & " Altre Causali - Confronto in minuti " & lDataConfr
End If

A questo punto devo trasformare il timestamp di ora in giorno Giuliano per poter andare ad effettuare il confronto e sapere se è intercorso il tempo segnalatomi dal documento XML.

Cosa posso scrivere per ottenere il risultato aspettato?

Grazie,
Ciao\G

Dainesi Profilo | Senior Member

Riformula la domanda perché mi sono un pò perso. Tu hai già una data, giusto ? Quello che vuoi è poterla confrontare con cosa ?


.
Autore del libro sul FOREX, MetaTrader e creazione dei trading system http://ilmiolibro.kataweb.it/schedalibro.asp?id=115872

Sig. Travis Profilo | Junior Member

Ho un log contenente n record composti da una serie di informazioni tra cui un timestamp di esecuzione dell'operazione; questi record possono rimanere all'interno del log per un tempo massimo stabilito a priori(giorni 1 o giorni 30) al fine di essere considerati come operazioni buone e fasarle con la parte web dell'applicazione. Se passa questo tempo devo cancellarli ma comunque segnalarne l'avvenuta presenza nel LOG su un Giornale di Fondo delle Operazioni.

Se si tratta di giorni 1 trasformo tutto in minuti, quindi 1440; devo scrivere un controllo che mi consente di verificare se il tempo di permanenza è scaduto e quindi cancellare il record, oppure continuare a trattenere il record per provare a fasarlo con il web in una successiva esecuzione dell'applicazione.

Spero di essere stato esauriente ed esplicito.

Grazie,
Ciao\G

Dainesi Profilo | Senior Member

Scusami ma oggi sono un pò per aria ... dunque tu hai una data (timestamp) e devi capire se da quella è passato più di un giorno o no. Giusto ?

Se è così ti è sufficiente una DateDiff("n",Data1,Data2) e se il ritorno è superiore a 1440 sei oltre il giorno e puoi passare a verificare con altro DateDiff se è superiore a 30 giorni.

Abbi pazienza, sarà la primavera, sarà l'età, sarà il caffè ...

.
Autore del libro sul FOREX, MetaTrader e creazione dei trading system http://ilmiolibro.kataweb.it/schedalibro.asp?id=115872

Sig. Travis Profilo | Junior Member

OK! Questo risolto.

Grazie,
Ciao\G
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5