Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
VB6: Confronti fra date
martedì 24 marzo 2009 - 12.51
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Sig. Travis
Profilo
| Junior Member
104
messaggi | Data Invio:
mar 24 mar 2009 - 12:51
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
476
messaggi | Data Invio:
mar 24 mar 2009 - 15:14
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
104
messaggi | Data Invio:
mar 24 mar 2009 - 16:11
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
476
messaggi | Data Invio:
mar 24 mar 2009 - 17:06
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
104
messaggi | Data Invio:
mar 24 mar 2009 - 17:27
OK! Questo risolto.
Grazie,
Ciao\G
Torna su
Stanze Forum
Elenco Threads
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 !