关于Access日期几号到第几天的转换

2017-12-23 10:55:00
黄善超
原创
1247

有网友在论坛发帖求助《关于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)。


文章发布有点仓促,如有错误,请斧正

    分享