Mul*_*ner 5 .net date cultureinfo
设计一个独立于文化的生日输入,包括三个选择:年,月和日.
在.NET中,如何为给定的文化获得三者的正确显示顺序,即:
????????????????? ?????????????????? ????????????????
? Select year ?v? ? Select month ?v? ? Select day ?v?
????????????????? ?????????????????? ????????????????
????????????????? ?????????????????? ????????????????
? Select day ?v? ? Select month ?v? ? Select year?v?
????????????????? ?????????????????? ????????????????
Run Code Online (Sandbox Code Playgroud)
要么
????????????????? ?????????????????? ????????????????
? Select month?v? ? Select day ?v? ? Select year?v?
????????????????? ?????????????????? ????????????????
Run Code Online (Sandbox Code Playgroud)
*更新* 感谢大家的回答,这让我想出了这个小功能:
Public Function GetDateElementAtPos(ByVal pos As Integer) As String
Return Mid(Me.myCultureInfo.DateTimeFormat.ShortDatePattern.Split(Me.myCultureInfo.DateTimeFormat.DateSeparator)(pos), 1, 1).ToLower
End Function
Run Code Online (Sandbox Code Playgroud)
其中myCultureInfo代表初始化Globalization.CultureInfo.我这样使用它:
Dim s as new stringbuilder
For i As Integer = 0 To 2
Select Case GetDateElementAtPos(i)
Case "y"
s.append(**year select html goes here**)
Case "m"
s.append(**month select html goes here**)
Case "d"
s.append(**day select html goes here**)
End Select
Next
Run Code Online (Sandbox Code Playgroud)
干得好:
CultureInfo c = ....;
var dtf = c.DateTimeFormat;
var fs = dtf.ShortDatePattern;
Run Code Online (Sandbox Code Playgroud)