2012年3月29日 星期四

[.NET]西元轉民國


本來想偷懶的找網路有沒有現成的函式可以用
可是頂多只有 改變格式而已
: 2012/11/23 à 12/11/23

Format(A,"yy/MM/dd")  傳回  12/11/23
A="2012/11/23 上午10:00"


 不知道大家有沒有發現我月份部分是用大寫
原因是他變數以及大小寫在函式內部就已經定義好了
小寫的mm 代表的是秒 ,所以一開始我傳回來的值一直都是 12/00/23….  
我也花了一點時間才發現這個錯誤

---------------------------------------------------
再來有在MSDN上找到有個新類別叫

Calendar

命名空間 的System.Globalization 中,有 TaiwanCalendar 類別
可惜他是.NET FrameWork 4 才有的新方法
我的程式不支援



所以只好自己來設計了 (殘念)
---------------------------------------------------
    ''' <summary>
    ''' 西~~(ex:2010/01/01-->99/01/01)
    ''' </summary>
    ''' <param name="p_strYear"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function YearTransfer(ByVal p_strYear As String) As String
        Dim strTemplist() As String = Split(p_strYear, "/")
        Dim strResult As String = ""
        Try
        strResult = Val(strTemplist(0)) - 1911 & "/" & strTemplist(1) & "/" & strTemplist(2)
        Catch ex As Exception
            strResult = ex.Message
        End Try
        Return strResult
    End Function

---------------------------------------------------

基本上就如上圖程式碼所示,我也不贅述了








參考網址:http://zhidao.baidu.com/question/135388675.html?push=related
參考網址:http://msdn.microsoft.com/zh-tw/library/system.globalization.calendar.aspx


沒有留言:

張貼留言