设置日期和月份格式,但不是他们的订单

Ale*_*ecs 7 c# datetime

我知道日期时间格式."dd"代表01至31日,"MM" - 从01到12的月份.我需要这种格式.但是,如果我写"dd MM"(在我的情况下在ToString()方法中)它将始终在月前一天.如何在不更改当前区域设置的顺序(第一天或第一天)的情况下设置此格式(dd和MM)?因此,如果在当前文化日首先我想要收到"20 08 2012"(分隔符在这里没关系),如果月份第一 - "08 20 2012"

das*_*ght 5

您可以使用MonthDayPattern当前区域设置来获取这两个项的相对顺序,然后构造dd MM或MM dd:

var mdp = CultureInfo.CurrentCulture.DateTimeFormat.MonthDayPattern;
string pattern = mdp.IndexOf('M') < mdp.IndexOf('d') ? "MM dd" : "dd MM";
Run Code Online (Sandbox Code Playgroud)