日期时间输出中的美国和英国格式

时间:2014-07-21 19:06:11

标签: c# datetime

C#:

我想让日期时间对象依赖于特定文化。

输入可以是 dd / mm / yyyy mm / dd / yyyy

输出应该是特定于文化的。

如果输入:en-US和字符串格式为(dd / mm / yyyy,mm / dd / yyyy)

输出应为MM / dd / yyyy

如果输入:字符串的en-GB格式为(dd / mm / yyyy,mm / dd / yyyy)

输出应为dd / MM / yyyy

请在C#中提供解决方案,并仅在解决方案中存在两种方案时提供

1 个答案:

答案 0 :(得分:2)

  

我想让日期时间对象依赖于特定文化。

没有这样的概念。即使日历系统也不是DateTime的一部分。无论文化如何,相同的DateTime值都用于表示单个值。

但是,您可以在格式化 DateTime时指定文化,并将其转换为文本。例如:

DateTime dateTime = ...;
string text = dateTime.ToString("d", culture); // d = short date format

现在,如果您的输入是 dd/MM/yyyy MM/dd/yyyy格式,那么您从根本上就会遇到问题。你不会知道06/07/2015是7月6日还是6月7日,除非你有其他信息可以帮助你。同样,如果您知道它是特定文化的短日期格式,那么您可以使用

DateTime dateTime = DateTime.ParseExact(text, "d", culture);