DateTime merupakan merupakan sebuah strukur untuk memunculkan tanggal, hari, maupun waktu (jam). Baik C# maupun VB, perintah dasarnya sama yaitu:
//C# dan VB DateTime.Now
Jika anda belum membaca post 016 Format, maka sebaiknya anda membaca terlebih dahulu agar DateTime dapat mengerti dengan mudah. Sekarang buatlah project dengan nama cs_09datetime(untuk C#) dan vb_09datetime(untuk VB), kemudian masukan 2 object Button, 1 object Timer, 24 object Label seperti gambar dibawah ini:
Gambar 20.1
Atur propertiesnya sebagai berikut:
Object | Properties | Values |
Button1 | (Name) | btnMulai |
Text | Mulai | |
Button2 | (Name) | btnStop |
Text | Stop | |
Timer1 | Enabled | False |
Interval | 1000 |
Kemudian ketikan code berikut:
//C# private void timer1_Tick(object sender, EventArgs e) { label1.Text = "Date time saat ini= " + DateTime.Now.ToString(); label2.Text = "Long date= " + DateTime.Now.ToString("dddd dd/MMMM/yyyy"); label3.Text = "Mid date= " + DateTime.Now.ToString("dd/MMM/yyyy"); label4.Text = "Short date= " + DateTime.Now.ToString("dd/MM/yy"); label5.Text = "Jumlah hari dalam bulan februari 2016= " + DateTime.DaysInMonth(2016, 2).ToString(); label6.Text = "Hari saat ini= " + DateTime.Now.Day.ToString(); label7.Text = "Bulan saat ini= " + DateTime.Now.Month.ToString(); label8.Text = "Tahun saat ini= " + DateTime.Now.Year.ToString(); label9.Text = "Waktu saat ini= " + DateTime.Now.ToString("HH:mm:ss"); label10.Text = "Jam saat ini= " + DateTime.Now.ToString("HH"); label11.Text = "Menit saat ini= " + DateTime.Now.ToString("mm"); label12.Text = "Detik saat ini= " + DateTime.Now.ToString("ss"); label13.Text = "Tanggal saat ini ditambah 5 hari= " + DateTime.Now.AddDays(5).ToString("dd/MM/yy"); label14.Text = "Tanggal saat ini dikurang 3 hari= " + DateTime.Now.AddDays(-3).ToString("dd/MM/yy"); label15.Text = "Bulan saat ini ditambah 2 bulan= " + DateTime.Now.AddMonths(2).ToString("dd/MM/yy"); label16.Text = "Bulan saat ini dikurang 4 bulan= " + DateTime.Now.AddMonths(-4).ToString("dd/MM/yy"); label17.Text = "Tahun saat ini ditambah 3 tahun= " + DateTime.Now.AddYears(3).ToString("dd/MM/yy"); label18.Text = "Tahun saat ini dikurang 3 tahun= " + DateTime.Now.AddYears(-3).ToString("dd/MM/yy"); label19.Text = "Jam saat ini ditambah 6 jam= " + DateTime.Now.AddHours(6).ToString("HH:mm:ss"); label20.Text = "Jam saat ini dikurang 6 jam= " + DateTime.Now.AddHours(-6).ToString("HH:mm:ss"); label21.Text = "Menit saat ini ditambah 5 menit= " + DateTime.Now.AddMinutes(5).ToString("HH:mm:ss"); label22.Text = "Menit saat ini dikurang 5 Menit= " + DateTime.Now.AddMinutes(-5).ToString("HH:mm:ss"); label23.Text = "Detik saat ini ditambah 3 detik= " + DateTime.Now.AddSeconds(3).ToString("HH:mm:ss"); label24.Text = "Detik saat ini dikurang 3 detik= " + DateTime.Now.AddSeconds(-3).ToString("HH:mm:ss"); } private void btnMulai_Click(object sender, EventArgs e) { timer1.Enabled = true; } private void btnStop_Click(object sender, EventArgs e) { timer1.Enabled = false; }
'VB Private Sub btnStop_Click(sender As Object, e As EventArgs) Handles btnStop.Click Timer1.Enabled = False End Sub Private Sub btnMulai_Click(sender As Object, e As EventArgs) Handles btnMulai.Click Timer1.Enabled = True End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick label1.Text = "Date time saat ini= " + DateTime.Now.ToString() label2.Text = "Long date= " + DateTime.Now.ToString("dddd dd/MMMM/yyyy") label3.Text = "Mid date= " + DateTime.Now.ToString("dd/MMM/yyyy") label4.Text = "Short date= " + DateTime.Now.ToString("dd/MM/yy") label5.Text = "Jumlah hari dalam bulan februari 2016= " + DateTime.DaysInMonth(2016, 2).ToString() label6.Text = "Hari saat ini= " + DateTime.Now.Day.ToString() label7.Text = "Bulan saat ini= " + DateTime.Now.Month.ToString() label8.Text = "Tahun saat ini= " + DateTime.Now.Year.ToString() label9.Text = "Waktu saat ini= " + DateTime.Now.ToString("HH:mm:ss") label10.Text = "Jam saat ini= " + DateTime.Now.ToString("HH") label11.Text = "Menit saat ini= " + DateTime.Now.ToString("mm") label12.Text = "Detik saat ini= " + DateTime.Now.ToString("ss") label13.Text = "Tanggal saat ini ditambah 5 hari= " + DateTime.Now.AddDays(5).ToString("dd/MM/yy") label14.Text = "Tanggal saat ini dikurang 3 hari= " + DateTime.Now.AddDays(-3).ToString("dd/MM/yy") label15.Text = "Bulan saat ini ditambah 2 bulan= " + DateTime.Now.AddMonths(2).ToString("dd/MM/yy") label16.Text = "Bulan saat ini dikurang 4 bulan= " + DateTime.Now.AddMonths(-4).ToString("dd/MM/yy") label17.Text = "Tahun saat ini ditambah 3 tahun= " + DateTime.Now.AddYears(3).ToString("dd/MM/yy") label18.Text = "Tahun saat ini dikurang 3 tahun= " + DateTime.Now.AddYears(-3).ToString("dd/MM/yy") label19.Text = "Jam saat ini ditambah 6 jam= " + DateTime.Now.AddHours(6).ToString("HH:mm:ss") label20.Text = "Jam saat ini dikurang 6 jam= " + DateTime.Now.AddHours(-6).ToString("HH:mm:ss") label21.Text = "Menit saat ini ditambah 5 menit= " + DateTime.Now.AddMinutes(5).ToString("HH:mm:ss") label22.Text = "Menit saat ini dikurang 5 Menit= " + DateTime.Now.AddMinutes(-5).ToString("HH:mm:ss") label23.Text = "Detik saat ini ditambah 3 detik= " + DateTime.Now.AddSeconds(3).ToString("HH:mm:ss") label24.Text = "Detik saat ini dikurang 3 detik= " + DateTime.Now.AddSeconds(-3).ToString("HH:mm:ss") label24.Text = DateDiff(DateInterval.Day,Now, ) End Sub
Jalankan program, kemudian klik button mulai untuk memulai DateTime, klik button stop untuk berhenti.
Gambar 20.2
String Value
Yang dimaksud string value disini diperuntukan untuk DateTime. seperti untuk membandingkan 2 tanggal, menambah tanggal, dll. Adapun format String value dalam DateTime adalah sebagai berikut:
Enumeration value | String value | Unit of time difference |
---|---|---|
DateInterval.Day | "d" | Day/Hari |
DateInterval.DayOfYear | "y" | Day/Jumlah hari dalam setahun |
DateInterval.Hour | "h" | Hour/Jam |
DateInterval.Minute | "n" | Minute/Menit |
DateInterval.Month | "m" | Month/Bulan |
DateInterval.Quarter | "q" | Quarter/Perempat bulan |
DateInterval.Second | "s" | Second/Detik |
DateInterval.Weekday | "w" | Week/Minggu. |
DateInterval.WeekOfYear | "ww" | Calendar week/Minggu dalam setahun |
DateInterval.Year | "yyyy" | Year/Tahun |
Kali ini kita akan mencoba menggunakan function DateAdd, DateDiff, DatePart, dll yang sebenarnya memiliki hasil yang sama dengan contoh diatas. Akan tetapi cara ini menggunkan String Value(anda bisa memilih antara Enumeration value atau String value caranya hanya mengganti misalnya "d" dengan DateInterval.Day, "q" dengan DateInterval.Quarter dan seterusnya) dari contoh contoh dibawah ini.
DateAdd
Setelah kita mengetahui string value untuk DateTime, mari kita mencoba mempraktekannya. DateAdd adalah Function dimana untuk menambahkan tanggal misal tanggal hari ini tambah 5 hari(angka 5 nya tampa min atau plus) atau mengurangi tanggal misal tanggal hari ini dikurang -5 hari(angka 5 nya menggunakan min).
Dalam C# DateAdd secara default tidak tersedia, kita harus menambahkan reference Microsoft.VisualBasic caranya seperti pada post 015 String Manipulation. Berikut contoh penggunaan function DateAdd:
//C# DateAndTime.DateAdd("d", 5, DateAndTime.Now); //karena "d" sama dengan hari, //maka hasilnya tanggal hari ini ditambah 5 hari DateAndTime.DateAdd("d", -5, DateAndTime.Now); //karena "d" sama dengan hari, //maka hasilnya tanggal hari ini dikurang 5 hari
'VB DateAndTime.DateAdd("w", 5, DateAndTime.Now); 'karena "d" sama dengan hari, 'maka hasilnya tanggal hari ini ditambah 5 minggu DateAndTime.DateAdd("w", -5, DateAndTime.Now); 'karena "w" sama dengan seminggu, 'maka hasilnya tanggal hari ini dikurang 5 minggu
DateDiff
DateDiff adalah sebuah fungsi untuk mencari berbedaan dari 2 buah tanggal dan waktu, berikut contoh cara penggunaannya.
//C# DateTime date1 = new DateTime(2016, 5, 14, 22, 47, 17); DateTime date2 = new DateTime(2016, 5, 24, 22, 47, 17); DateAndTime.DateDiff("d", date1, date2); /* karena "d" sama dengan hari, * maka hasil perbedaan date1 * dan date2 adalah 10 hari */
'VB Dim date1 As Date = #2015/05/14 22:47:17# Dim date2 As Date = #2016/05/24 22:47:17# DateDiff("yyyy", date1, date2) 'karena "yyyy" sama dengan tahun, 'maka hasil perbedaan date1 'dan date2 adalah 1 tahun
DatePart
DatePart adalah mencari bagian dari sebuah tanggal dan waktu, berikut contoh cara penggunaannya.
//C# DateTime date1 = new DateTime(2016, 5, 14, 22, 47, 17); DateAndTime.DatePart("m", date1); /* karena "m" sama dengan bulan, * maka bulan dari date1 adalah 5 */ DateAndTime.DatePart("q", date1); /* karena "q" sama dengan quarter, * maka quarter dari date1 adalah 2 */
'VB Dim date1 As Date = #2016/05/14 22:47:17# DateAndTime.DatePart("y", date1) 'karena "y" hitungan hari dalam setahun, 'maka 14 mei 2016 adalah hari ke 135 Dim date1 As Date = #2016/05/14 22:47:17# DateAndTime.DatePart("yyyy", date1) 'karena "yyyy" adalah tahun, 'maka 14 mei 2016 adalah 2016
DateSerial
DateSerial adalah mengubah/menggabungkan integer(angka) menjadi sebuah tanggal, berikut contoh penggunaannya.
//C# int tahun = 2016; int bulan = 1; int hari = 1; DateAndTime.DateSerial(tahun, bulan, hari); // Hasilnya adalah 01/01/2016 //Atau bisa langsung DateAndTime.DateSerial(2016, 01, 01); // Hasilnya adalah 01/01/2016
'VB Dim tahun as integer = 2016 Dim bulan as integer = 1 Dim hari as integer = 1 DateAndTime.DateSerial(tahun, bulan, hari) 'Hasilnya adalah 01/01/2016 'Atau bisa langsung DateAndTime.DateSerial(2016, 12, 12) 'Hasilnya adalah 12/12/2016
DateValue
DateValue digunakan untuk mengganti tanggal dalam format string menjadi datetime.
//C# string tanggal = "01/01/2016"; DateAndTime.DateValue(tanggal); // Hasilnya adalah 01/01/2016 dalam format date // Atau bisa langsung DateAndTime.DateValue("01/01/2016"); //Hasilnya adalah 01/01/2016
'VB Dim tanggal as String = "01/01/01" DateAndTime.DateValue(tanggal) 'Hasilnya adalah 01/01/2016 'Atau bisa langsung DateAndTime.DateValue("01/01/2016") 'Hasilnya adalah 01/01/2016
MonthName
MountName berguna untuk mendapatkan nama bulan dari sebuah integer(angka).
//C# int namabulan = 2; DateAndTime.MonthName(namabulan); // Hasilnya adalah Februari // Atau bisa langsung DateAndTime.MonthName(2); //Hasilnya adalah Februari
'VB Dim namabulan as Integer = 3 DateAndTime.MonthName(namabulan) 'Hasilnya adalah Maret 'Atau bisa langsung DateAndTime.MonthName(3) 'Hasilnya adalah Maret
TimeSerial
TimeSerial adalah mengubah/menggabungkan integer(angka) menjadi sebuah waktu, berikut contoh penggunaannya.
//C# int jam = 13; int menit = 26; int detik = 55; DateAndTime.TimeSerial(jam, menit, detik); // Hasilnya adalah 13:26:55
//Atau bisa langsung DateAndTime.TimeSerial(13, 26, 55); // Hasilnya adalah 13:26:55
'VB Dim jam as integer = 13 Dim menit as integer = 26 Dim detik as integer = 55 DateAndTime.TImeSerial(jam, menit, detik) 'Hasilnya adalah 13:26:55 'Atau bisa langsung DateAndTime.TimeSerial(13, 26, 55) 'Hasilnya adalah 13:26:55
TimeValue
TimeValue digunakan untuk mengganti waktu dalam format string menjadi datetime.
//C# string waktu = "12:55:55"; DateAndTime.DateValue(waktu); // Hasilnya adalah 12:55:55 dalam format datetime // Atau bisa langsung DateAndTime.DateValue("12:55:55"); //Hasilnya adalah 12:55:55
'VB Dim tanggal as String = "01/01/01" DateAndTime.TimeValue(tanggal) 'Hasilnya adalah 12:55:55 'Atau bisa langsung DateAndTime.TimeValue("12:55:55") 'Hasilnya adalah 12:55:55
Weekday
Weekday digunakan untuk mendapatkan no hari dari sebuah tanggal, berikut no hari.
Hari | Value |
Senin | 2 |
Selasa | 3 |
Rabu | 4 |
Kamis | 5 |
Jumat | 6 |
Sabtu | 7 |
Minggu | 1 |
//C# DateTime date1 = new DateTime(2016, 5, 14, 22, 47, 17); DateAndTime.Weekday(date1); // Hasilnya adalah 7
'VB Dim date1 As Date = #2015/05/14 22:47:17# DateAndTime.Weekday(date1) 'Hasilnya adalah 7
WeekdayName
WeekDayName merupakan kebalik dari Weekday, yaitu mendapatkan nama hari dari sebuah integer(angka 1-7), berikut contoh penggunaannya.
//C# int namahari = 6; DateAndTime.WeekDayName(namahari); // Hasilnya adalah Jumat
'VB Dim namahari As Date = 6 DateAndTime.WeekDay(namahari) 'Hasilnya adalah Jumat
Sekarang untuk menguji nya tambahkan 1 button lagi kedalam form dan tidak perlu diganti propertiesnya seperti gambar dibawah ini:
Gambar 20.3
klik 2x pada button1 kemudian ketikan code berikut:
//C# private void button1_Click(object sender, EventArgs e) { MessageBox.Show(Convert.ToString(DateAndTime.DateAdd("d", 5, DateAndTime.Now))); DateTime date1 = new DateTime(2016, 5, 14, 22, 47, 17); DateTime date2 = new DateTime(2016, 5, 24, 22, 47, 17); MessageBox.Show(Convert.ToString(DateAndTime.DateDiff("d", date1, date2))); MessageBox.Show(Convert.ToString(DateAndTime.DatePart("y", date1))); int tahun = 2016; int bulan = 1; int hari = 1; MessageBox.Show(Convert.ToString(DateAndTime.DateSerial(tahun, bulan, hari))); string tanggal = "01/01/2016"; MessageBox.Show(Convert.ToString(DateAndTime.DateValue(tanggal))); MessageBox.Show(Convert.ToString(DateAndTime.MonthName(2))); int jam = 13; int menit = 26; int detik = 55; MessageBox.Show(Convert.ToString(DateAndTime.TimeSerial(jam, menit, detik))); string waktu = "12:55:55"; MessageBox.Show(Convert.ToString(DateAndTime.TimeValue(waktu))); MessageBox.Show(Convert.ToString(DateAndTime.Weekday(date1))); int namahari = 6; MessageBox.Show(Convert.ToString(DateAndTime.WeekdayName(namahari))); }
'VB Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MessageBox.Show(Convert.ToString(DateAndTime.DateAdd("d", 5, DateAndTime.Now))); Dim date1 As Date = #2016/05/14 22:47:17# Dim date2 As Date = #2016/05/24 22:47:17# MessageBox.Show(DateDiff("d", date1, date2)) MessageBox.Show(DateAndTime.DatePart("y", date1)) Dim tahun As Integer = 2016 Dim bulan As Integer = 1 Dim hari As Integer = 1 MessageBox.Show(DateAndTime.DateSerial(tahun, bulan, hari)) Dim tanggal As String = "01/01/2016" MessageBox.Show(DateAndTime.DateValue(tanggal)) MessageBox.Show(DateAndTime.MonthName(2)) Dim jam As Integer = 13 Dim menit As Integer = 26 Dim detik As Integer = 55 MessageBox.Show(DateAndTime.TimeSerial(jam, menit, detik)) Dim waktu As String = "12:55:55" MessageBox.Show(DateAndTime.TimeValue(waktu)) MessageBox.Show(DateAndTime.Weekday(date1)) Dim namahari as Integer = 6 MessageBox.Show(DateAndTime.WeekdayName(namahari)) End Sub
Jalankan program kemudian klik button1, maka hasilnya akan sesuai apa yang sudah dijelaskan diatas. Sampai disini toturial DateTime, Next kita akan masuk Numeric.
Password: csvb2015.blogspot.co.id
Tidak ada komentar :
Posting Komentar