【问题标题】:How to use IFormatProvider in DateTime.ParseExact如何在 DateTime.ParseExact 中使用 IFormatProvider
【发布时间】:2013-11-29 13:42:39
【问题描述】:

既然已经有了格式参数,为什么还要在DateTime.ParseExact中使用IFormatProvider

DateTime.ParseExact(inputString, format, cultureInfo);

【问题讨论】:

    标签: c# datetime iformatprovider


    【解决方案1】:

    格式参数说明要使用什么模式 - 但它没有说明要使用的日历、月份名称、短日期格式等。这取决于IFormatProvider

    例如,假设您想要解析具有模式 "dd MMMM yyyy" 的值 - 您希望哪个月份的名称有效?如果您使用的月份名称为“February”,但您在系统文化为法语的机器上运行,它将失败 - 您需要指定英语文化(或不变文化)才能获得工作。同样,您可以指定"d" 的模式来表示短日期格式 - 但是哪个短日期格式?

    即使您使用的 日历 也会受到格式提供程序的影响:该值可以在两种文化中解析为相同的年、月和日值 - 但 含义例如,回历与公历中的这些值将非常不同。

    【讨论】:

    • @Ahmedilyas:我对日期和时间很感兴趣:)
    • 是的。我有时知道这种感觉....不要让我开始了解客户及其要求和客户端计算以及不同的地区和....呃! :)
    【解决方案2】:

    一个简单的例子:/

    / 不仅仅是一个字符,而是一个依赖于文化的日期分隔符

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多