C#日期时间格式,包括日期/月份/年份而不是日期

我想使用标准的日期格式,在PC的标准区域设置中显示日期,月份和年份。 但是,我只能找到“D”,其中列出了日期和日期 - 月 - 年。 有没有什么办法可以从它或其他任何方式中删除我想要的输出?

DateTime date1 = new DateTime(2008, 4, 10);
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008   

注意:我不想使用自定义格式(d MMMM yyyy),因为我希望维护订单的区域设置。


如果您使用的是标准格式之一,则显示的内容将取决于文化背景 - 即使您可以找到某些在en-US中不显示星期几的内容,它仍可能会显示该内容在其他文化中。

我想你可以找到文化的DateTimeFormatInfo ,找到它的LongDatePattern ,然后从该格式字符串中删除任何出现的单个“d”。 这将是非常讨厌的,但。


你可以在你的情况下使用它:

DateTimeFormatInfo myDTFI = new CultureInfo("en-US", false).DateTimeFormat;
string str = (new DateTime(2008, 4, 10)).ToString(myDTFI.LongDatePattern.Replace("dddd", ""));

尝试这个:

date1.ToString("d", CultureInfo.CreateSpecificCulture("en-US"))

它会返回你想要的!

链接地址: http://www.djcxy.com/p/61029.html

上一篇: C# datetime format that includes date/month/year and not day

下一篇: Django set field values dynamically based on other fields