我想在固定寬度的列中顯示短日期和短時間,就像DIR命令的輸出一樣。我希望保持這種固定寬度格式儘可能接近本地日期/時間慣例。如果本地格式已經是固定寬度,請使用它。否則,使用最近的固定寬度的東西。.NET中的短日期和短時間模式,帶前導零
Similar question之前已被問過,但回答「use dateTimeValue.ToString(」MM-dd-yyyy「)」並不是非常有用,因爲它會殺死本地化。
某些本地日期時間格式已經是固定寬度。例如。對於德國(de-DE),短日期格式的字符串是「dd.MM.yyyy」,在任何日期都會產生10個字符。
另一方面,美國(「en-US」)格式是「M/d/yyyy」。這產生可變寬度的字符串:存在針對該時間部分
3/1/2011 - 8 characters
3/12/2011 - 9 characters
12/31/2011 - 10 characters.
類似的問題:「下午1點34分」具有比「上午12時30分」更少的字符。
然而,即使在美國的窗戶上,「dir」命令也顯示了整齊排列的日期和時間,並帶有前導零。
08/13/2011 09:48 PM 14,336 holidays.xls
08/14/2011 12:47 PM 36,352 holidays2.xls
提取獨立的H,H,d,M和與HH,HH,DD和MM分別將有助於取代他們,但我希望有人已經這樣做(和測試也許正則表達式!),我可以借鑑普通的智慧。
也許你可以搜索'CultureInfo.CurrentCulture.DateTimeFormat.GetAllDateTimePatterns('d')'的輸出,並且以某種方式使用包含'MM'和'dd'的字符串。 – 2014-09-03 22:03:15