【发布时间】:2013-11-29 13:42:39
【问题描述】:
既然已经有了格式参数,为什么还要在DateTime.ParseExact中使用IFormatProvider?
DateTime.ParseExact(inputString, format, cultureInfo);
【问题讨论】:
标签: c# datetime iformatprovider
既然已经有了格式参数,为什么还要在DateTime.ParseExact中使用IFormatProvider?
DateTime.ParseExact(inputString, format, cultureInfo);
【问题讨论】:
标签: c# datetime iformatprovider
格式参数说明要使用什么模式 - 但它没有说明要使用的日历、月份名称、短日期格式等。这取决于IFormatProvider。
例如,假设您想要解析具有模式 "dd MMMM yyyy" 的值 - 您希望哪个月份的名称有效?如果您使用的月份名称为“February”,但您在系统文化为法语的机器上运行,它将失败 - 您需要指定英语文化(或不变文化)才能获得工作。同样,您可以指定"d" 的模式来表示短日期格式 - 但是哪个短日期格式?
即使您使用的 日历 也会受到格式提供程序的影响:该值可以在两种文化中解析为相同的年、月和日值 - 但 含义例如,回历与公历中的这些值将非常不同。
【讨论】:
一个简单的例子:/
/ 不仅仅是一个字符,而是一个依赖于文化的日期分隔符。
【讨论】: