ini saya dapat dari yogyafree, semoga berguna
Hitung Selisih 2 Tanggal (1)
Menghitung selisih dua buah tanggal yang diketahui berdasarkan
(selang waktu) tertentu, apa..kah hari (d), bulan (m), atao tahun
(yyyy), mengguna..in fungsi DateDiff.
Cara..nya begini:
1. Buat 1 Project baru ama 1 Form and 1 Commandbutton.
2. Taruh coding berikut ke dalam form .
Ini Coding..nya:
Code:
Private Sub Command1_Click()
Dim hari As Integer, bulan As Integer, tahun As Integer
hari = DateTime.DateDiff("d", _
CDate("22/01/1973"), _
CDate("22/01/2002")) 'Menghasil..in 10592
bulan = DateTime.DateDiff("m", _
CDate("22/01/1973"), _
CDate("22/01/2002")) 'Menghasil..in 348
tahun = DateTime.DateDiff("yyyy", _
CDate("22/01/1973"), _
CDate("22/01/2002")) 'Menghasil..in 29
MsgBox "Selisih antara tanggal 22/01/1973" & _
vbCrLf & _
"ama tanggal 22/01/2002 " & vbCrLf & _
"menghasil..in sebagai berikut: " & _
vbCrLf & "" & vbCrLf & _
" " & Format(hari, "#,#") & _
" hari, ATAO" & vbCrLf & _
" " & Format(bulan, "#,#") & _
" bulan, ATAO" & vbCrLf & _
" " & Format(tahun, "#,#") & " tahun", _
vbInformation, "DateDiff"
End Sub
-----------------------------------------------------------------
Hitung Selisih Dua Buah Tanggal (2)
Menghitung selisih dua buah tanggal yang diketahui lalu
menampil..in hasilnya dalam bentuk selisih tahun and selisih
bulannya
Mengguna..in fungsi DateDiff.
Cara..nya begini:
1. Buat 1 Project baru ama 1 Form and 1 Commandbutton.
2. Taruh coding berikut ke dalam form .
Ini Codingnya :
Code:
Private Sub Command1_Click()
MsgBox SelisihTanggal(CDate("01/05/1999"), _
CDate("15/09/2002"))
'Contoh ini menghasil..in: 3.4 --> artinya: 3 tahun 4
bulan.
End Sub
Public Function SelisihTanggal(ByVal TanggalAwal As _ Date,
ByVal TanggalAkhir As Date) As String
Buat hitung selisih tahun and bulan dari dua buah
tanggal
Dim Tahun As Integer, Sisa As Integer
Dim SelisihBulan As Integer
On Error GoTo Pesan
SelisihBulan = DateDiff("m", TanggalAwal, TanggalAkhir)
Tahun = SelisihBulan \ 12
Sisa = SelisihBulan Mod 12
'SelisihTanggal = Tahun & " Tahun " & Sisa & "
Bulan."
SelisihTanggal = Tahun & "." & Sisa
Exit Function
Pesan:
MsgBox "Tipe tanggal salah!", vbCritical, "Error Tanggal"
End Function
-------------------------------------------------------------------------
Hitung Selisih Dua Buah Tanggal (3)
Menghitung selisih dua buah tanggal yang diketahui lalu
menampil..in hasilnya dalam bentuk selisih hari and selisih durasi
jam lengkapnya.
Contoh: Kalo tanggal awal = 01/03/2002 17:18:00 and tanggal akhir
= 01/09/2002 09:42:30, akan menghasil..in --> 183 hari, 16:24:30
Artinya (183 hari, 16 jam, 24 menit, and 30 detik).
Kita mengguna..in fungsi DateDiff.
Cara..nya begini:
1. Buat 1 Project baru ama 1 Form.
2. Tambah..in 2 TextBox, 1 Label, and 1 Timer.
3. Taruh coding berikut ke dalam form .
Ini Coding..nya :
Code:
Option Explicit
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 and waktu awal harus lebih kecil " _
& vbCrLf & _
"dari pada tanggal and 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 menghasil..in 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 car membagi 24
'(backslash ("\") supaya menghasil..in nilai
integer tanpa pembulatan ke atas)
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, tampil..in 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/2002 07:18:00"
'Text2.Text = "01/09/2002 09:42:30"
Text2.Text = Now
End Sub
Private Sub Timer1_Timer()
On Error GoTo Pesan
Text2.Text = Now
Label1.Caption = SelisihHariJam(CDate(Text1.Text), _
CDate(Text2.Text))
Exit Sub
Pesan:
MsgBox "Tanggal atao format-nya salah!", _
vbCritical, "Error Tanggal"
End Sub
Noe <[EMAIL PROTECTED]> wrote: ini rumusnya... :
NewDate = DateAdd(interval, number, date) :
- interval is a string that indicates a date or time unit
- number is the number of units you are adding
- date is the starting date
JmlHari = DateDiff("y", #1/30/1998#, Now)
atw
JmlHari = DateDiff("y", #01-02-2008#, 15-03-2008)
dicoba sendiri aja ya... soale ne belum tak coba...
--- In [email protected], "wajdi" wrote:
>
> Rekan2 VBers.
>
>
>
> Misalnya ada dua textbox dimana masing-masing diisi tanggal (baik
dari
> system atau dari tabel) yang berbeda (format "DD-MM-YYYY") :
>
>
>
> txtTgl1.Text = "01-02-2008"
>
> txtTgl2.Text = "15-03-2008"
>
>
>
> masalahnya klo pengen tau antara selisih berapa hari antara
txtTgl2.Text dan
> txtTgl1 caranya gmn..?
>
> Mohon bantuan rekan2 VBers.
>
>
>
> Thanks.
>
Wahana Programmer Groups Links
Yahoo! Groups Links
Best Regards,
Budi Mulyono
[EMAIL PROTECTED]
---------------------------------
Looking for last minute shopping deals? Find them fast with Yahoo! Search.