This blog has moved to http://ikhwanhayat.net

Tuesday, July 20, 2004

Petualangan .NET: dd/mm/yyyy VS mm/dd/yyyy

Kita di Malaysia menggunakan sistem dd/mm/yyyy, manakala di US menggunakan sistem mm/dd/yyyy. Sistem yg kedua ialah sistem yang digunakan di dalam .NET Framework, sbb Microsoft Bill Gates yang punya dan Gates orang US. Jadi kita di yang hidup bukan di US bakal mengalami sedikit kekeliruan, kerana seperti contoh: 04/06/2004 kita fahami sebagai 4 Jun 2004 tetapi Gates memahaminya sebagai April 6th, 2004. Oleh yang demikian kita terpaksa melakukan sesuatu supaya tarikh yang diproses oleh program kita adalah tarikh yang sama seperti yang dimaksudkan oleh user semasa proses input dan output. Fungsi ini menukar DateTime dalam .NET Framework kepada String dalam format dd/mm/yyyy

Public Function ToDMY(ByVal dt As DateTime) _
     » As String
    
    Dim d As Integer = dt.Day
    Dim m As Integer = dt.Month
    Dim y As Integer = dt.Year

    ToDMY = d.ToString + "/" + m.ToString + "/" _
     » + y.ToString
    
End Function
Dan ini pula menerima String dd/mm/yyyy kepada DateTime
Public Function ToMDY(ByVal dt As String) As 
     » DateTime
    
    'Pemisah antara hari,bulan dan tahun 
    'ialah aksara "/"
    Dim delimiter As Char = "/"
    Dim split As String() = Nothing
    
    split = dt.Split(delimiter)
    'Selepas proses ini, 
    'split(0) ialah hari
    'split(1) ialah bulan, dan
    'split(2) ialah tahun.

    'DateTime.Parse digunakan utk menukar 
    'String kepada DateTime disamping 
    'memeriksa jika terdapat error
    'Tanggungjawab menangkap exception 
    'diserahkan kepada pemanggil
    ToMDY = DateTime.Parse(split(1) + "/" + _
     » split(0) + "/" + split(2))
    
End Function
Ada cara lain iaitu dengan menggunakan System.Globalization.DateTimeFormatInfo, tapi aku tak paham macam mana nak guna. Lain kali mungkin boleh buat entry bolg utk ni kot. Resource: http://www.4guysfromrolla.com/webtech/041001-1.shtml http://www.informit.com/guides/content.asp?g=dotnet&seqNum=140 tengok pasal "DateTime Class" dalam MSDN  

0 Comments:

Post a Comment

<< Home