【问题标题】: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”​​不是可识别的日期。

【问题讨论】:

    标签: c# date culture


    【解决方案1】:

    CultureInfo.InvariantCulture 替换为null

    【讨论】:

    • 仍然得到“字符串未被识别为有效的日期时间”
    • 它对我有用。您确定StartDateTextBox.Text 正是您在此处发布的方式(09/04/2013)吗?尝试将该值硬编码到 ParseExact 中,看看它是否有效。
    • 等等,输入的日期是 2013 年 9 月 4 日,但为什么会有不同。它在我输入 09/04/2013 时有效,但为什么呢?
    • 这是因为您的格式字符串需要两位数的月份和日期。我会仔细研究您可以在格式字符串中使用的选项以允许前导 0。不过,我不知道有什么想法。
    • 很公平。在这件事上有一些非常愚蠢的架构决策。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多