coding date and time pada VB.net dan vb

'Deskripsi : Menghitung jumlah hari di suatu bulan berdasarkan tanggal tertentu
'Pembuat : Zarr Team (mail@zarr.net)
'Tanggal : 26 Januari 2002
'Persiapan : 1. Buat satu project dengan satu form, satu module, dan satu commandbutton
' 2. Copy-kan coding berikut masing-masing ke module dan form.
'------------------------------------------

'--- awal coding di Module ---
Public Function LastDayOfMonth(ByVal ValidDate As Date) As Byte
Dim LastDay As Byte
LastDay = DatePart("d", DateAdd("d", -1, DateAdd("m", 1, _
DateAdd("d", -DatePart("d", ValidDate) + 1, _
ValidDate))))
LastDayOfMonth = LastDay
End Function
'--- akhir coding di Module ---

'--- awal coding di Form ---
Private Sub Command1_Click()
MsgBox LastDayOfMonth("12/02/2007") '<-- Setting Date = dd/mm/yyyy 'MsgBox LastDayOfMonth(DateTime.DateSerial(2007, 2, 12)) '<-- ini bisa juga End Sub '--- akhir coding di Form --- Deskripsi: Menampilkan data tanggal lengkap dengan format: ' "hari, tanggal bulan tahun". Contoh: Jika hari ini tanggal ' 27 Agustus 2002, maka akan menampilkan: Selasa, 27 Agustus 2002. 'Pembuat : Masino Sinaga (masino_sinaga@posindonesia.co.id) 'Diupload : Selasa, 27 Agustus 2002 'Persiapan: 1. Buat 1 Project baru dengan 1 Form. ' 2. Copy-kan coding berikut ke dalam editor form yang bertalian '--------------------------------------------------------------------------- Function NamaHari(dTanggal As Date) As String Dim sHari As String Dim aHari aHari = Array("Minggu", "Senin", "Selasa", "Rabu", _ "Kamis", "Jumat", "Sabtu") NamaHari = aHari(Abs(Weekday(dTanggal) - 1)) & ", " & _ "" & Format(dTanggal, "d mmmm yyyy") End Function 'Misalnya, jika hari ini tanggal 27 Agustus 2002, 'maka akan ditampilkan: Selasa, 27 Agustus 2002 Private Sub Form_Load() MsgBox NamaHari(Date) '--> tergantung hari ini...

'Untuk yang dua di bawah ini, jika "Regional Settings" di PC Anda
'menggunakan setting Indonesia. Sesuaikan dengan style setting di PC
'Anda...
MsgBox NamaHari(CDate("22 Januari 1973")) '--> Senin, 22 Januari 1973
MsgBox NamaHari(CDate("26 Januari 2002")) '--> Sabtu, 26 Januari 2002

'Untuk yang dua paling bawah ini, tidak terpengaruh dengan style setting
'Regional Settings di PC Anda. Formatnya mengikuti format Date Internasional
'yaitu: bulan-tanggal-tahun, karena diapit tanda 'kres' (#).
MsgBox NamaHari(CDate(#12/16/2002#)) '---> Senin, 16 Desember 2002
MsgBox NamaHari(CDate(#5/7/2002#)) '---> Selasa, 7 Mei 2002

End Sub

'Deskripsi: Membedakan fungsi Date dan Date$ dalam menampilkan format
' tanggal hari ini.
'Pembuat : Masino Sinaga (masino_sinaga@posindonesia.co.id)
'Diupload : Minggu, 12 Mei 2002
'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 1 Commandbutton
' 2. Copy-kan coding berikut ke dalam editor form yang bertalian
'----------------------------------------------------------------------------

Private Sub Command1_Click()
MsgBox DateTime.Date '--> Menghasilkan tanggal hari ini, sesuai dengan
' setting format tanggal di komputer Anda.
' Contoh: Jika tgl hari ini = 22 Januari 2002
' dan format Short Date Style di
' Regional Setting = "dd/mm/yyyy", maka
' akan menghasilkan: 22/01/2002

MsgBox DateTime.Date$ '--> Menghasilkan tanggal hari ini dengan format
' tanggal Standar Internasional, yaitu:
' "mm-dd-yyyy"
' Contoh: (sama dengan di atas), maka akan
' menghasilkan: 01-22-2002
End Sub

'Deskripsi: Memisahkan komponen dari suatu tanggal tertentu berdasarkan
' tipe datanya, apakah hari (d), bulan (m), atau tahun (yyyy)
' dengan menggunakan fungsi DatePart.
'Pembuat : Masino Sinaga (masino_sinaga@posindonesia.co.id)
'Diupload : Minggu, 12 Mei 2002
'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 1 Commandbutton
' 2. Copy-kan coding berikut ke dalam editor form yang bertalian
'----------------------------------------------------------------------------

Private Sub Command1_Click()
Dim hari As Integer, bulan As Integer, tahun As Integer
hari = DateTime.DatePart("d", _
CDate("22/01/1973"), _
vbUseSystemDayOfWeek, _
vbUseSystem) '--> Menghasilkan 22

bulan = DateTime.DatePart("m", _
CDate("22/01/1973"), _
vbUseSystemDayOfWeek, _
vbUseSystem) '--> Menghasilkan 1

tahun = DateTime.DatePart("yyyy", _
CDate("22/01/1973"), _
vbUseSystemDayOfWeek, _
vbUseSystem) '--> Menghasilkan 1973
MsgBox hari
MsgBox bulan
MsgBox tahun
End Sub

'Deskripsi: Memisahkan tanggal dengan format panjang (dd mmmm yyyy)
' menjadi komponen-komponennya dan menambahkan kata kunci
' di depan setiap komponennya.
'Pembuat : Masino Sinaga (masino_sinaga@posindonesia.co.id)
'Diupload : Jumat, 24 Agustus 2002
'Persiapan: 1. Buat 1 Project baru dengan 1 Form.
' 2. Tambahkan 1 TextBox dan 1 Commandbutton.
' 3. Copy-kan coding berikut ke dalam editor form yang bertalian
'--------------------------------------------------------------------------

'Memisahkan komponen tanggal dari format tanggal
'panjang (dd mmmm yyyy) dan menampilkannya dengan
'menggunakan kata kunci di depan setiap komponen
'Masukkan tanggal dengan format: dd mmmm yyyy
'ke dalam Text1 (contoh: 22 Januari 2002)
'lalu klik Command1, maka akan menghasilkan:
'Tanggal 22 Bulan Januari Tahun 2002

Private Sub Command1_Click()
'Inisialisasi variabel yg digunakan
Dim strTanggal As String, i As Integer
Dim huruf As String * 1, Temp As String
Dim Lokasi1 As Integer, Lokasi2 As Integer
Dim Tanggal As String, Bulan As String, Tahun As String

Temp = "" 'Inisialisasi menampung huruf per huruf

'Periksa, jika tanggal tidak valid, atau formatnya
'tidak sama dengan format tanggal panjang...
If Not IsDate(Text1.Text) Or _
Text1.Text <> Format(Text1.Text, "dd mmmm yyyy") Then

'Tampilkan pesan...
MsgBox "Tanggal/format-nya salah!", _
vbCritical, "Tanggal Salah"
'Kursor kembali ke Text1
Text1.SetFocus
SendKeys "{Home}+{End}"
Exit Sub 'Keluar dari prosedur
End If

'Jika tanggal valid, tampung data tanggal
strTanggal = Text1.Text

'Ulangi huruf demi huruf dari awal sampai akhir
For i = 1 To Len(strTanggal)

'Tampung setiap satu huruf saja pada posisi ke-i
huruf = Chr(Asc(Mid(strTanggal, i, 1)))

'Tampung dan tambahkan huruf, demikian seterusnya...
Temp = Temp + Chr(Asc(Mid(strTanggal, i, 1)))

'Cari posisi karakter spasi pertama untuk
'mendapatkan posisi string Bulan,
'yaitu posisi spasi pertama + 1
'Jika ada spasi dan panjang huruf yg sudah ditampung
'masih lebih kecil dari 4, berarti itu spasi I...
If Len(Trim(huruf)) < 1 And Len(Temp) < 4 Then 'Lokasi1 untuk mengambil posisi awal string Bulan Lokasi1 = i + 1 'Jangan lupa, tampung tanggalnya mulai dari posisi 'awal sampai posisi Lokasi1 dikurangi 2 'Dikurangi 2, karena bisa saja string Tanggal 'hanya 1 digit, atau bisa juga 2 digit Tanggal = Left(Temp, Lokasi1 - 2) End If 'Jika terdapat lagi spasi berikutnya, di mana panjang 'string Temp harus lebih besar dari 4 di atas... If Len(Trim(huruf)) < 1 And Len(Temp) > 4 Then

'Tampung posisi spasi tsb ditambah satu
'untuk posisi string Tahun
Lokasi2 = i + 1

'Tampung string Bulan, mulai dari tengah pada
'posisi Lokasi1, sebanyak (Lokasi2 dikurangi
'dengan (Lokasi1 kurang 1))
Bulan = Mid(Temp, Lokasi1, Lokasi2 - Lokasi1 - 1)
End If

'Jika counter lebih besar dari posisi Lokasi2
'dan nilai counter sudah sama dengan panjang strTanggal
If i > Lokasi2 And i = Len(strTanggal) Then

'Tampung string Tahun...
Tahun = Mid(Temp, Lokasi2, 4)
End If
Next i 'Akhir pemeriksaan huruf per huruf

'Tampilkan hasilnya dalam bentuk string dengan
'kata kunci penjelasan di depan setiap komponen...
MsgBox "Tanggal " & Tanggal & _
" Bulan " & Bulan & _
" Tahun " & Tahun
End Sub

'Deskripsi: Membentuk suatu tanggal baru berdasarkan komponen datanya
' dengan urutan tahun (yyyy), bulan (MM), dan tanggal (dd)
' dengan menggunakan fungsi DateSerial.
'Pembuat : Masino Sinaga (masino_sinaga@posindonesia.co.id)
'Diupload : Minggu, 12 Mei 2002
'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 1 Commandbutton
' 2. Copy-kan coding berikut ke dalam editor form yang bertalian
'----------------------------------------------------------------------------

Private Sub Command1_Click()
Dim dTanggal As Date
tanggal = DateTime.DateSerial(1973, 1, 22)
MsgBox dTanggal '--> Menghasilkan tanggal 22/01/1973
'Asumsi: format tanggal di Regional System = "dd/MM/yyyy"
End Sub

'Deskripsi: Mengkonversi data tanggal dalam format string menjadi data
' tanggal sesungguhnya dengan menggunakan fungsi DateValue.
' Fungsi ini sama dengan fungsi CDate(sTanggal As String)
'Pembuat : Masino Sinaga (masino_sinaga@posindonesia.co.id)
'Diupload : Minggu, 12 Mei 2002
'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 1 Commandbutton
' 2. Copy-kan coding berikut ke dalam editor form yang bertalian
'----------------------------------------------------------------------------

Private Sub Command1_Click()
'Asumsi: format tanggal = "dd/mm/yyyy", maka menghasilkan 22/01/1973
MsgBox DateTime.DateValue("22/01/1973")
'Tergantung kepada format tanggal di Regional Setting komputer tersebut,
'jika format "mm/dd/yyyy", maka akan menghasilkan tanggal dengan format
'urutan: 01/22/1973
End Sub

'Deskripsi: Contoh sebuah aplikasi kecil menghitung besar uang lembur
' berdasarkan hitungan detik, termasuk perhitungan lewat tengah malam.
'Pembuat : Masino Sinaga (masino_sinaga@posindonesia.co.id)
'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 11 Label, 11 Textbox, 2 commandbutton,
' dan 2 control Timer.
' 2. Beri nama dan urutan untuk setiap textbox sebagai berikut:
' - txtTglMulai
' - txtAwalLembur
' - txtJamSistem
' - txtDurasiLembur
' - txtTotalDetik
' - txtBesarUang
' - txtTglSistem
' - txtTglEsok
' - txtDurasiPertama
' - txtDurasiKedua
' - txtTampungDetik
' 3. Beri nama masing-masing commandbutton dengan cmdMulai dan cmdStop
' 4. Set property Interval setiap Timer = 500, dan Enabled = False.
' 5. Copy-kan coding berikut ke dalam form yang bertalian.
'---------------------------------------------------------------------------------------

Dim totaldetik As Long
Dim hh, mm, ss As Integer
Dim tampungdetik As Long

Private Sub cmdMulai_Click()
Timer1.Enabled = True
txtAwalLembur.Text = Time
txtDurasiPertama.Text = Format(CDate("23:59:59") _
- CDate(txtAwalLembur) + CDate("00:00:01"), "hh:mm:ss")
'Ditambah satu detik karena belum bulat ke 24:00:00
'dan angka 24:00:00 tsb tidak valid utk Time
txtTglMulai.Text = Format(Date, "dd/mm/yyyy")
txtTglEsok.Text = Format(Date + 1, "dd/mm/yyyy")
txtDurasiKedua.Text = 0
txtTampungDetik.Text = 0
cmdMulai.Enabled = False
cmdStop.Enabled = True
End Sub

Private Sub cmdStop_Click()
Timer1.Enabled = False
Timer2.Enabled = False
cmdStop.Enabled = False
cmdMulai.Enabled = True
End Sub

Private Sub Timer1_Timer()
txtTglSistem.Text = Format(Date, "dd/mm/yyyy")
txtJamSistem.Text = Time
If txtJamSistem.Text = "00:00:00" Then
txtDurasiLembur.Text = Format(CDate("23:59:59") _
- CDate(txtAwalLembur) + CDate("00:00:01"), "hh:mm:ss")
Else
txtDurasiLembur.Text = Format((CDate(txtJamSistem.Text) _
- CDate(txtAwalLembur.Text)), "hh:mm:ss")
End If
If CDate(txtAwalLembur) = CDate(txtJamSistem) Then
txtTampungDetik.Text = 0
End If
If CDate(txtTglSistem) = CDate(txtTglEsok) Then
txtTglEsok.Text = Date + 1
txtTotalDetik.Text = Format(totaldetik + 1, "0,0")
txtTampungDetik.Text = totaldetik + 1
Timer1.Enabled = False
Timer2.Enabled = True
End If

hh = Hour(txtDurasiLembur)
mm = Minute(txtDurasiLembur)
ss = Second(txtDurasiLembur)
totaldetik = hh * 3600 + mm * 60 + ss
txtTotalDetik.Text = Format(totaldetik, "0,0")
txtBesarUang.Text = Format(txtTotalDetik * 100, "0,0")
txtDurasiKedua.Text = Format(Val(txtTotalDetik) - _
Val(txtTampungDetik), "0,0")
End Sub

Private Sub Timer2_Timer()
txtTglSistem.Text = Format(Date, "dd/mm/yyyy")
txtJamSistem.Text = Time
If txtJamSistem.Text = "00:00:00" Then
txtDurasiLembur.Text = Format(CDate("23:59:59") _
- CDate(txtAwalLembur) + CDate("00:00:01"), "hh:mm:ss")
Else
txtDurasiLembur.Text = Format(CDate(txtJamSistem.Text) _
+ CDate(txtDurasiPertama.Text) - _
CDate("00:00:00"), "hh:mm:ss")
End If

If CDate(txtAwalLembur) = CDate(txtJamSistem) Then
txtTampungDetik.Text = 0
End If

If CDate(txtTglSistem) = CDate(txtTglEsok) Then
txtTglEsok.Text = Date + 1
txtTotalDetik.Text = Format(totaldetik, "0,0")
txtTampungDetik.Text = totaldetik + 1
Timer2.Enabled = False
Timer1.Enabled = True
End If

hh = Hour(txtDurasiLembur)
mm = Minute(txtDurasiLembur)
ss = Second(txtDurasiLembur)
totaldetik = hh * 3600 + mm * 60 + ss
txtTotalDetik.Text = Format(totaldetik, "0,0")
txtBesarUang.Text = Format(txtTotalDetik * 100, "0,0")
txtDurasiKedua.Text = Format(Val(txtTotalDetik) - _
Val(txtTampungDetik), "0,0")
End Sub

'Deskripsi: Memeriksa apakah di PC Anda menggunakan kalendar Masehi (vbCalGreg)
' atau kalender Hijriah (vbCalHijri) menggunakan DateTime.Calendar
'Pembuat : Masino Sinaga (masino_sinaga@posindonesia.co.id)
'Diupload : Minggu, 12 Mei 2002
'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 1 Commandbutton
' 2. Copy-kan coding berikut ke dalam editor form yang bertalian
'----------------------------------------------------------------------------

Private Sub Command1_Click()
If DateTime.Calendar = vbCalGreg Then
MsgBox "Kalender Masehi!", vbInformation, _
"Masehi"
Else
MsgBox "Kalender Hijriah!", vbInformation, _
"Hijriah"
End If
End Sub

'Deskripsi: Jika Anda menginginkan agar format tanggal komputer yang
' memakai program yang telah Anda buat sesuai dengan format
' yang seharusnya di program tersebut, Anda terlebih dulu
' harus memeriksa apakah formatnya benar sama atau tidak.
' Jika format tanggal tidak sesuai dengan yang digunakan
' di program, maka program tersebut tidak dapat dijalankan.
' Tips berikut akan membantu Anda untuk menambahkan validasi
' format tanggal sebelum program dijalankan.
'Pembuat : Masino Sinaga (masino_sinaga@posindonesia.co.id)
'Diupload : Minggu, 12 Mei 2002
'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 1 Commandbutton, dan
' 1 Control Timer.
' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.
'----------------------------------------------------------------------------

'Dalam contoh ini, kita anggap bahwa konvensi format tanggal di
'komputer yang menggunakan program ini harus sama dengan format
'dd/mm/yyyy'. Jika tidak, maka program akan "memaksa" User untuk
'menyesuaikan terlebih dulu format tanggal di komputernya dengan
'format tersebut, barulah program dapat dijalankan...

Private Sub Form_Load()
Timer1.Interval = 500 'Set property intervalnya
Timer1.Enabled = True 'Aktifkan jika belum...
End Sub

Sub PeriksaTanggal()
Dim CekTanggal As String
Ulangi:
CekTanggal = Date 'Tampung tanggal dalam bentuk string
'Lakukan pemeriksaan format tanggal tersebut...
If CekTanggal <> Format(Date, "dd/mm/yyyy") Then
'Jika formatnya tidak sama dengan 'dd/mm/yyyy',
'tampilkan pesan berikut...
If MsgBox("Format tanggal di komputer Anda tidak sama dengan" & vbCrLf & _
"'dd/mm/yyyy'. Klik OK untuk mengganti melalui menu" & vbCrLf & _
"Regional Settings pada tab Date di kotak isian" & vbCrLf & _
"'Short Date Style'. Ganti menjadi format:" & vbCrLf & _
"dd/mm/yyyy. Jika Anda tidak melakukannya, maka" & vbCrLf & _
"program tidak dapat dijalankan!", _
vbCritical + vbOKCancel, _
"Format Tanggal Tidak Sama Dengan 'dd/mm/yyyy'") _
= vbOK And CekTanggal <> Format(Date, "dd/mm/yyyy") Then
'Tampilkan Regional Settings dari program, dan
'langsung ke tab Date (Tab indeks ke-4)...
Call Shell("rundll32.exe shell32.dll," & _
"Control_RunDLL INTL.CPL,,4", 1)
Else
End 'Jika tdk mau mengganti, langsung keluar program...
End If
If MsgBox("Apakah Anda sudah selesai menggantinya?" & vbCrLf & _
"Klik Yes jika format sudah dd/mm/yyyy" & vbCrLf & _
"atau klik No jika belum.", _
vbQuestion + vbYesNo, "Ubah Tanggal") = vbYes Then
'Periksa lagi, apakah sudah diganti oleh User?
If CekTanggal <> Format(Date, "dd/mm/yyyy") Then GoTo Ulangi
Else 'Jika belum juga, kembali lagi dari awal di atas
GoTo Ulangi
End If
End If
End Sub

'Jika sebelumnya format tanggal sudah 'dd/mm/yyyy', Anda
'dapat mengubahnya dengan mengklik tombol Command1.
'Perhatikan reaksi apa yang terjadi dari program setelah
'Anda mengubah format tanggal menjadi format yg tidak
'sesuai dengan 'dd/mm/yyyy'
'Atau Anda juga dapat mengubah formatnya dari Control
'Panel, dan perhatikan juga bagaimana reaksi program!!!

Private Sub Command1_Click()
Call Shell("rundll32.exe shell32.dll," & _
"Control_RunDLL INTL.CPL,,4", 1)
End Sub

'Anda mungkin bertanya, mengapa kita memeriksa format
'tanggal di prosedur Timer1_Timer selain di prosedur
'Form_Load di atas?

'Jawabnya tidak lain adalah untuk mengantisipasi jika pada
'saat program dijalankan, dilakukan perubahan format
'tanggal melalui menu Regional Settings di Control Panel
'oleh user atau melalui Command1 yang ada di program,
'maka ketika program diaktifkan kembali format tanggal
'menjadi sudah tidak sama lagi dengan 'dd/mm/yyyy'
'sehingga harus dilakukan pemeriksaan kembali setiap saat
'program diaktifkan melalui bantuan Timer1 yang dapat
'refresh setiap saat...

Private Sub Timer1_Timer()
If CekTanggal <> Format(Date, "dd/mm/yyyy") Then
PeriksaTanggal
Else
Exit Sub 'Timer1 harus tetap aktif...
End If
End Sub

'Deskripsi: Membuat suatu tanggal baru berdasarkan tipe interval
' (selang waktu) tertentu, apakah hari (d), bulan (m),
' atau tahun (yyyy) dari tanggal awal yang diketahui.
'Pembuat : Masino Sinaga (masino_sinaga@posindonesia.co.id)
'Diupload : Minggu, 12 Mei 2002
'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 1 Commandbutton
' 2. Copy-kan coding berikut ke dalam editor form yang bertalian
'----------------------------------------------------------------------------

Private Sub Command1_Click()
Dim TglAwal As String 'Deklarasi variabel
Dim TipeInterval As String
Dim JlhInterval As String
Dim Msg
On Error GoTo PesanError

TglAwal = InputBox("Masukkan tanggal awal:", "Tanggal Awal", _
"22/01/1973")
'contoh ini, defaultnya 22 Jan 1973
If StrPtr(TglAwal) = 0 Then Exit Sub
If Not IsDate(TglAwal) Then
MsgBox "Tanggal salah!", vbCritical, "Tanggal Tidak Valid"
Exit Sub
End If

TipeInterval = InputBox("Masukkan tipe interval " & vbCrLf & _
"(Pilih salah satu:" & vbCrLf & _
"d Jika ingin ditambahkan dengan hari" & vbCrLf & _
"m Jika ingin ditambahkan dengan bulan" & vbCrLf & _
"yyyy Jika ingin ditambahkan dengan tahun)", _
"Tipe Interval", "m")
'contoh ini, defaultnya "m" atau bulan
If StrPtr(TipeInterval) = 0 Then Exit Sub
If Not (TipeInterval = "d" Or TipeInterval = "m" Or _
TipeInterval = "yyyy") Then
MsgBox "Harus d atau m atau yyyy!", vbCritical, "Tipe Salah"
Exit Sub
End If

JlhInterval = InputBox("Masukkan jumlah interval yang " & _
"akan ditambahkan ke Tanggal Awal:", _
"Jumlah Interval", "100")
'contoh ini, defaultnya 100
If Not IsNumeric(JlhInterval) Then
MsgBox "Harus numerik/angka!", vbCritical, "Tidak Valid"
Exit Sub
End If
Msg = "Tanggal Baru: " & DateAdd(TipeInterval, _
CInt(JlhInterval), CDate(TglAwal))
MsgBox Msg, vbInformation, "Tanggal Baru"
Exit Sub
PesanError:
MsgBox Err.Number & " - " & Err.Description
End Sub
coding date and time pada VB.net dan vb coding date and time pada VB.net dan vb Reviewed by yunanto on Minggu, Juli 05, 2015 Rating: 5

Tidak ada komentar :

Events

Diberdayakan oleh Blogger.