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#中提供解决方案,并仅在解决方案中存在两种方案时提供
答案 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);