在当前文化信息中显示 "MMM d, yyyy" 的等价物

Display equivalent of "MMM d, yyyy" in current culture info

我仔细阅读了 C# 提供的标准日期时间格式化程序,但似乎找不到符合我的 "short date" 要求的一个:"May 4, 2013"。我知道我可以做一个自定义格式字符串来实现目标:

myDateTimeOffset.ToString("MMM d, yyyy");

但是,此应用程序可能会转到其他国家/地区。有没有办法让当前文化等同于特定的格式字符串?

myDateTimeOffset.ToString("MMM d, yyyy", CultureInfo.CurrentUICulture);

它是否适应外国文化中的等效 "short date" 格式?

我认为没有任何默认格式选项可以满足您的特定要求(D 可能接近)。这个概述在我的书签中已有 10 多年了,我发现它仍然有用:http://samples.pdmlab.com/

无论如何,由于您的应用程序可能无法支持无限多种语言,我认为您最好的选择是根据实际使用的语言使用某种 DateTime 扩展方法和格式,如果有必要的话。