Mengenai Penulis

Adalah seorang penulis, pemaju sys. maklumat, konsultan dan programmer. Lulusan Dip. IT (eks), Universiti Malaya. Lebih 17 thn pengalaman dlm ICT. >>>

Get The Latest News

Sign up to receive latest news

Jumaat, Jun 12, 2009

VB.net : Tarikh dan Kalendar Hijrah

Membangunkan aplikasi yang boleh memaparkan tarikh hijrah atau apa-apa tarikh dalam kalandar lain agak mudah dalam platform .NET. .NET Framework dibina dengan sokongan untuk globalisasi iaitu sokongan bahasa, bentuk huruf dan simbol-simbol tempatan. .NET framework membekalkan kelas Calendar dan juga implementasi kelas-kelas berikut.

• ChineseLunisolarCalendar
• EastAsianLunisolarCalendar
• GregorianCalendar
• HebrewCalendar
• HijriCalendar
• JapaneseCalendar
• JapaneseLunisolarCalendar
• JulianCalendar
• KoreanCalendar
• KoreanLunisolarCalendar
• PersianCalendar
• TaiwanCalendar
• TaiwanLunisolarCalendar
• ThaiBuddhistCalendar
• UmAlQuraCalendar

Untuk kalendar Hijri, dua algoritma boleh digunakan iaitu HijriCalendar dan UmAlQuraCalendar. Adalah dicadangkan supaya menggunakan algoritma UmAlQuraCalendar kerana ia lebih tepat. Rujukan yang perlu:

Imports System.Globalization
Imports System.Text
Imports System.Threading

Jika perlu, simpan atau backup budaya semasa, iaitu tetapan budaya komputer sebelum larian.

Private budayaAsal As CultureInfo = Thread. _
CurrentThread.CurrentCulture.Clone

Contoh kod aturcara:

Dim teksAr, teksMy As New StringBuilder 'teks output
Dim budaya As New CultureInfo("ar-SA") 'tetap budaya baru untuk thread
Dim hb, bln, thn As Integer
Dim algUmAlQura As Calendar = New UmAlQuraCalendar 'jenis kalendar
'semakan julat tarikh yang disokong, rujuk MSDN
If tarikh >= algUmAlQura.MinSupportedDateTime And _
tarikh <= algUmAlQura.MaxSupportedDateTime Then
hb = algUmAlQura.GetDayOfMonth(tarikh)
bln = algUmAlQura.GetMonth(tarikh)
thn = algUmAlQura.GetYear(tarikh)
Dim NamaBlnAr As String = budaya.DateTimeFormat. _
GetMonthName(bln) 'nombor bulan dalam kalendar
Dim NamaBlnMy As String
Select Case bln 'untuk dapatkan nama dalam bahasa melayu
Case 1 : NamaBlnMy = "Muharam"
Case 2 : NamaBlnMy = "Safar"
Case 3 : NamaBlnMy = "Rabiul Awal"
Case 4 : NamaBlnMy = "Rabiul Akhir"
Case 5 : NamaBlnMy = "Jamadil Awal"
Case 6 : NamaBlnMy = "Jamadil Akhir"
Case 7 : NamaBlnMy = "Rejab"
Case 8 : NamaBlnMy = "Syaaban"
Case 9 : NamaBlnMy = "Ramadhan"
Case 10 : NamaBlnMy = "Syawal"
Case 11 : NamaBlnMy = "Zul Kaedah"
Case Else : NamaBlnMy = "Zul Hijjah"
End Select
teksMy.AppendLine(hb.ToString & " " & NamaBlnMy & _
" " & thn.ToString)
teksAr.AppendLine(hb.ToString & " " & NamaBlnAr & _
" " & thn.ToString)
End If
Thread.CurrentThread.CurrentCulture = _
New CultureInfo("ar-SA")
Dim trAr As String = keNoArab(CInt(tarikh. _
ToString("dd"))) & " " & tarikh.ToString _
("MMMM") & " " & keNoArab(CInt(tarikh. _
ToString("yyyy")))
teksAr.AppendLine(trAr)
TextBoxHijri.Text = teksAr.ToString
TextBoxHijri.Text &= vbCrLf & teksMy.ToString
Thread.CurrentThread.CurrentCulture = budayaAsal


Contoh implementasi dalam program kalendar:




Selamat mencuba.

0 komen:

Catat Ulasan

Jika sebahagian dari skrin pengesahan komen FB terlindung, klik dialog pengesahan komen FB itu dengan butang tengah tetikus dan heret ke bawah sehingga anda nampak butang Submit.

Related Posts with Thumbnails