Hmm, I don't think there's a non-clunky way of doing this. Here's a VBScript version that I use:
Code:
Function DateExt(ByVal intDay)
If IsNumeric(intDay) Then
If CInt(intDay) <> intDay Then Exit Function
If (intDay < 11) OR (intDay > 13) Then
Select Case Right(intDay,1)
Case 1
DateExt = intDay & "st"
Case 2
DateExt = intDay & "nd"
Case 3
DateExt = intDay & "rd"
Case Else
DateExt = intDay & "th"
End Select
Else
DateExt = intDay & "th"
End If
End If
End Function