是否有内置的.NET日期格式化函数以格式返回日期:
2010年4月3日
这是“rd”位,我无法回忆是否有格式化选项。
干杯,罗布。
答案 0 :(得分:4)
不要以为有内置的方式。但是从blog post复制/粘贴一个很容易:
Protected Function FormatPostedTimeWithDayNumberSuffix(Optional ByVal format As String = "MMMM d{0}, yyyy") As String
Dim dateTime As DateTime = Date.Parse(Entry.PostedTime)
If Not Null.IsNull(dateTime) Then
Dim formatTime As String = dateTime.ToString(format)
Dim day As Integer = dateTime.Day
Dim dayFormat As String = String.Empty
Select Case day
Case 1, 21, 31
dayFormat = "st"
Case 2, 22
dayFormat = "nd"
Case 3, 23
dayFormat = "rd"
Case Else
dayFormat = "th"
End Select
Return String.Format(formatTime, dayFormat)
End If
Return Entry.PostedTime
End Function
答案 1 :(得分:0)
我担心你必须亲自去做。在C#中,它将是这样的:
if (dt.Day == 1) strdate = dt.ToString("dd") + "st";
else if (dt.Day == 2) strdate = dt.ToString("dd") + "nd";
else if (dt.Day == 3) strdate = dt.ToString("dd") + "rd";
else if (dt.Day == 21) strdate = dt.ToString("dd") + "st";
else if (dt.Day == 22) strdate = dt.ToString("dd") + "nd";
else if (dt.Day == 23) strdate = dt.ToString("dd") + "rd";
else if (dt.Day == 31) strdate = dt.ToString("dd") + "st";
else strdate = dt.ToString("dd") + "th";
答案 2 :(得分:0)
谢谢大家 - 我怀疑依赖记忆的同样多,但绝不是好主意。此要求没有内置的功能/格式化选项,因此您必须自己动手。
干杯,罗布。