需要一些关于日期和文化的建议
Posted
技术标签:
【中文标题】需要一些关于日期和文化的建议【英文标题】:Need some advice on dates and culture 【发布时间】:2013-09-26 23:35:28 【问题描述】:我们有一些无法真正更改的遗留代码,它们“强制”用户通过 ValidationExpression 和文本字段上的正则表达式输入 MM/dd/yyyy 格式的日期。
但是,C# 代码将期望日期为 MM/dd/yyyy 或 dd/MM/yyyy,具体取决于地区。
我需要将输入的日期格式化为特定地区的日期。
有什么想法吗?
到目前为止,我已经尝试过 DateTime enteredDate = DateTime.ParseExact(StartDateTextBox.Text, "MM/dd/yyyy", CultureInfo.InvariantCulture);
,但返回错误,指出“09/04/2013”不是可识别的日期。
【问题讨论】:
【参考方案1】:将CultureInfo.InvariantCulture
替换为null
。
【讨论】:
仍然得到“字符串未被识别为有效的日期时间” 它对我有用。您确定StartDateTextBox.Text
正是您在此处发布的方式(09/04/2013)吗?尝试将该值硬编码到 ParseExact
中,看看它是否有效。
等等,输入的日期是 2013 年 9 月 4 日,但为什么会有不同。它在我输入 09/04/2013 时有效,但为什么呢?
这是因为您的格式字符串需要两位数的月份和日期。我会仔细研究您可以在格式字符串中使用的选项以允许前导 0。不过,我不知道有什么想法。
很公平。在这件事上有一些非常愚蠢的架构决策。谢谢。以上是关于需要一些关于日期和文化的建议的主要内容,如果未能解决你的问题,请参考以下文章