Home > Visual Basic 6 > Menghitung Selisih Dari 2 Tanggal Berbeda (2)

Menghitung Selisih Dari 2 Tanggal Berbeda (2)

Source code berikut untuk menghitung selisih dari 2 tanggal berbeda dengan hasil keluaran jumlah hari, jam, menit dan detik. Misalkan jika input tanggal awal 3 Januari 2009 jam 07:18:00 dan input tanggal akhir 7 Februari 2010 jam 12:30:00 maka selisihnya adalah 400 hari 5 jam 12 menit (400 hari, 5:12:00)

Buat 1 project baru dengan :
1 Form
2 TextBox
1 Label
1 Timer

Copy-kan source code berikut pada editor code Form :

Function SelisihHariJam(ByVal Awal As Date, _
ByVal Akhir As Date) As String
Dim Detik As Long, Hari As Long, Jam As Long
Dim JamLengkap As String

If Awal > Akhir Then
   MsgBox "Tanggal dan waktu awal harus lebih kecil " _
   & vbCrLf & _
            "dari pada tanggal dan waktu akhir", _
            vbCritical, "Peringatan"
     Exit Function
  End If

  'Tampung dalam durasi satuan terkecil, yaitu: DETIK
  Detik = DateDiff("s", Awal, Akhir)

  'Hitung jumlah jam dgn cara membagi 3600
  '(backslash ("\") supaya menghasilkan nilai Integer
  'tanpa pembulatan ke atas)
  Jam = Detik \ 3600

  'Kalo jumlah jam lebih besar dari 23 artinya: lebih
  'dari 1 hari
  If Jam > 23 Then
     'Hitung jumlah hari dgn cara membaginya dengan 24
     Hari = Jam \ 24

     'Hitung Durasi Jam dalam hh:mm:ss
     JamLengkap = Format((Akhir - Awal), "hh:mm:ss")
    Else 'Kalo jumlah jam <= 23
     Hari = 0   'maka jumlah hari = nol
     'Hitung Durasi Jam dalam hh:mm:ss
     JamLengkap = Format((Akhir - Awal), "hh:mm:ss")
  End If

  If Hari = 0 Then  'Kalo jumlah hari = 0
     'Tampung hasil akhirnya
     SelisihHariJam = JamLengkap

  Else  'Kalo jumlah hari > 0, tampilkan jumlah harinya
     'Tampung hasil akhirnya
     SelisihHariJam = Hari & " hari, " & JamLengkap
  End If
  Exit Function
End Function

Private Sub Form_Load()
  Timer1.Interval = 500
  Timer1.Enabled = True
  Text1.Text = "01/03/2009 07:18:00"
  Text2.Text = Now
End Sub

Private Sub Timer1_Timer()
  Text2.Text = Now
  Label1.Caption = "Selisihnya adalah : " & SelisihHariJam(CDate(Text1.Text), _
                      CDate(Text2.Text))
End Sub

Untuk lebih jelasnya, [Download Source Code]


Referensi :
YogyaFree

Baca Juga :

About these ads
  1. March 5, 2010 at 12:26 pm | #1

    Thanks for some great thoughts there. I am kind of new to online , so I printed this off to put in my file, any better way to go about keeping track of it then printing?

  2. May 6, 2010 at 7:54 pm | #2

    Numpang lewat mas, nice web…

  3. May 7, 2010 at 2:13 am | #3

    oke… tengkyu…

  4. samsul
    December 12, 2010 at 11:58 pm | #4

    makasih lagi atas ilmunya,

  5. dhydhyt
    December 28, 2010 at 7:42 pm | #5

    numpang tanya gan..
    klo ngitung tanggal di crystal report gmn caranya??????
    saya lg nyusun skripsi,sistem perpustakaan..
    tp dpt kendala di cetak laporan denda,buat nghitung jumlah hari keterlambatan mengembalikan buku..
    klo bisa,tlong dibantu yha gan..
    mkasih sbelumnya……

  6. January 8, 2011 at 4:35 pm | #6

    mohon pencerahan nih boss, dari hasil source ini misalkan 1 hari 03:20:15, gimana ya caranya agar 1 hari menjadi jam dan dapat di tambahkan ke 03:20:15 tersebut.

    Thanks

  7. ahsan
    August 6, 2012 at 8:52 pm | #7

    ada juga pertanyaan ni bang.. bagaimana kalau menghitung jam yang dimulai dari ratusan jam misalnya 24.356 jam ditambah 23 jam, coz saya coz hasilnya value semua. bagaimana formulanya? thanks bang

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 136 other followers

%d bloggers like this: