Italian Calcolo differenza tra due tempi

Fulvio75

Well-Known Member
Licensed User
Ciao devo ricavare la differenza tra due tempi in millisecondi oppure secondi con la virgola uso questo codice? È corretto?

B4X:
Dim CurrentTime As Long = 0
    Dim RespTime As Float  = 0

    Try
        
'Prendo l'ora di start quando entro nella sub
        If SendStartTime = 0 Then
        
            SendStartTime = DateTime.Now
        
        Else
        
        
            CurrentTime = DateTime.Now
    
            RespTime = (CurrentTime-SendStartTime)/DateTime.TicksPerSecond
            
        End If
        
    
    Catch
        
        RespTime = 0
        
    End Try
    
    Return NumberFormat2(RespTime,1,3,3,False)
 

ivanomonti

Expert
Licensed User
Longtime User
di solito faccio ultimo tempo registrato sottraendo il penultimo

data di oggi - data di ieri e mi viene fuori l'intervallo
 

Star-Dust

Expert
Licensed User
Longtime User
Prenla differenza usa la libreria DateUtils che calcola anche se le due date sono col cambio del fuso orario e monti fa perdere l'ora di differenza e tutti i casi limite.

I millisecondi li ottieni facendo il mod della differenza per TicksPerSecond
 

ivanomonti

Expert
Licensed User
Longtime User
Prenla differenza usa la libreria DateUtils che calcola anche se le due date sono col cambio del fuso orario e monti fa perdere l'ora di differenza e tutti i casi limite.

I millisecondi li ottieni facendo il mod della differenza per TicksPerSecond
pare ovvio che parlo dei TickPerSecond diversamente non sarebbe possibile
 

Fulvio75

Well-Known Member
Licensed User
Così è giusto? sembra che il conto lo faccia giusto

SendStartTime = DateTime.Now
Sleep(3000)
'orario corrente aggiornato
CurrentTime = DateTime.Now
RespTime = (CurrentTime-SendStartTime)
 
Top