Girilen 2 saat degerinin arasındaki toplam süreyi dakika olarak hesaplamak?

Başlatan mustafa_cmbz, 15 Ocak 2015, 01:10:55

mustafa_cmbz

Merhabalar.


Şöyle düşünün start ve stop için 2 tane zaman saati giriyoruz.Saat ve dakika olarak.Bu girdiğimiz başlangıç saati ile bitiş saati arasındaki zamanı toplamda dakika olarak elde etmek için nasıl bir formul kullanmak ve bu formulü elde etmek için nasıl bir mantık kullanmak gerekiyor ?


Kabil ATICI

Her iki saati değerlerini dakika cinsine çevir, çıkarma işlemini yap. Elde ettiğin değeri tekrar saat ve dakika formatına çevir (en iyi ihtimalle 60'a böl)
ambar7

OG

Ben su sekilde yapiyorum. Ne anlama geldiğinin anlaşılması için her ihtimali ayrı yazdım. Kısaltılabilir.

Dim toplam_dakika_start As Word
Dim toplam_dakika_stop As Word
Dim fark_dakika As Word

Dim start_saati As Byte
Dim start_dakika As Byte
Dim stop_saati As Byte
Dim stop_dakika As Byte


hesapla:
    toplam_dakika_start = ( start_saati * 60 ) + start_dakika
    toplam_dakika_stop = ( stop_saati * 60 ) + stop_dakika

''' simdi ufak birkac ayrınti var.

''' Once arada fark varmı ona bakarız 
''' (*önemli tarih atlaması varsa ayrıca gun basina 1440 dk ilave gerekir, butun hesaplar içinde dikkate alınmalıdır) 

    If toplam_dakika_start = toplam_dakika_stop Then
        fark_dakika = 0      
        GoTo hesap_cikis
    EndIf

''' sonra saat 00:00 da startlanan veya stoplanan varmı ona bakarız

''' start saat 00:00 da verildi ise, ikisi esit olmadığından toplam_dakika_stop buyuktur 
    If toplam_dakika_start = 0 Then
        fark_dakika = toplam_dakika_stop 
        GoTo hesap_cikis
    EndIf
    
''' stop saat 00:00 da verildi ise, ikisi esit olmadığından toplam_dakika_start buyuktur
    If toplam_dakika_stop = 0 Then
        fark_dakika = 1440 - toplam_dakika_start
        GoTo hesap_cikis
    EndIf

''' Geriye kalan ihtimaller 

''' start saat 24 den (00:00) once ve stop saat 24 den sonra ise 
    If toplam_dakika_start > toplam_dakika_stop Then
        fark_dakika = ( 1440 - toplam_dakika_start ) + toplam_dakika_stop
        GoTo hesap_cikis
    EndIf 

''' stop saat 24 den (00:00) once ve start saat 24 den sonra ise 
    If toplam_dakika_stop > toplam_dakika_start Then
        fark_dakika = toplam_dakika_stop - toplam_dakika_start    
        GoTo hesap_cikis
    EndIf


hesap_cikis:
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.