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.

Kirim email ke