關于Access日期幾號到第幾天的轉換

2017-12-23 10:55:00
tmtony8
原創
2364

有網友在論壇發帖求助《關于Access日期問題》 希望當前日期格式用英文表達,如2017/12/22,表達出來為“22nd Dec 2017”

但是由于英文的基數轉換為序數不像中文一樣,可以直接幾到第幾的概念。有1st,2nd,3rd這樣的非主流。


小編查了一下資料,發現好像沒有直接轉換的參數。所以這里只能自定義一個函數來轉換

Public Function RadixtoOrdinal(i As Integer)
    Dim strOrdinal As String
    Dim righti As Integer
    If i = 11 Or i = 12 Or i = 13 Then
        strOrdinal = i & "th"
        
    Else
        righti = Right(i, 1)
        Select Case righti
        Case 1
            strOrdinal = i & "st"
        Case 2
            strOrdinal = i & "nd"
        Case 3
            strOrdinal = i & "rd"
        Case Else
            strOrdinal = i & "th"
            
        End Select
    End If
    RadixtoOrdinal = strOrdinal
End Function



在報表中引用函數。控件來源=RadixtoOrdinal(Day(Date())) & " " & Format(Date(),"mmm yyyy")


注意,format參數的月份有幾種寫法:

m :  以沒有前導零的數字來顯示月 (1 – 12)。如果 m 是直接跟在 h 或 hh 之后,那么顯示的將是分而不是月。
mm :  以有前導零的數字來顯示月 (01 – 12)。如果m是直接跟在h或hh之后,那么顯示的將是分而不是月。
mmm :  以簡寫來表示月 (Jan –Dec)。
mmmm :  以全稱來表示月 (January –December)。


文章發布有點倉促,如有錯誤,請斧正

    分享
    黑龙江p62开奖公告l