在.NET中,如何获取给定文化的YYYY,MM和DD的顺序

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)

lep*_*pie 3

干得好:

CultureInfo c = ....;
var dtf = c.DateTimeFormat;
var fs = dtf.ShortDatePattern;
Run Code Online (Sandbox Code Playgroud)