Ich kann wie so einen String-Wert in YYYYMMDD-Format in eine menschenfreundlichere Zeichenfolge konvertieren:Wie kann ich einen MediumDateString bekommen?
string beginDate = GetElement(3, fileBaseName);
string endDate = GetElement(4, fileBaseName);
beginDate = DateTime.ParseExact(beginDate,
"yyyyMMdd",
CultureInfo.InvariantCulture).ToShortDateString();
endDate = DateTime.ParseExact(endDate,
"yyyyMMdd",
CultureInfo.InvariantCulture).ToShortDateString();
return string.Format("{0} to {1}", beginDate, endDate);
Aber mit ToShortDateString() wie oben, erhalte ich das nicht-so-freundlich-as-Wunschformat „2016.04.01 bis 2016.04.30“
Wenn ich versuche, ToLongDateString(), es zu weit in die andere Richtung geht, die Zahlen in Monatsnamen erweitert (was ich will), aber auch die lange Form des Wochentags, so dass die gleichen Werte angezeigt als „Freitag, 1. April 2016 bis zum Samstag, 30. April 2016“
Was ich wirklich will, ist für den Datumsbereich angezeigt werden sollte als "1. April 2016 bis 30. April 2016 "(oder" 1. April 2016 bis 30. April 2016 „)
gibt es einen Mittelweg zwischen ToShortDateString() und ToLongDateString(), die ich verwenden kann, oder muss ich "meine eigenen rollen", um dies zu bekommen?
Vorsicht vor ParseExact und Datum Umstellung auf lokale Kalender, auch sicherstellen, dass Sie die Art danach angeben, wenn das Ergebnis nicht als UTC – Jay
übersetzt bekommt Es ist „01“ anstelle von „1“ für das Datum, aber nahe genug, für mich für jetzt. –
@ B.ClayShannon: aktualisiert, verwenden Sie nur ein "d" in diesem Fall. –